Coverage Report

Created: 2024-05-24 01:30

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <tuple>
32
33
/////////////////////////////////////////////////////////////////
34
// <expected> implementation
35
/////////////////////////////////////////////////////////////////
36
37
// The following implementation of expected is based on TartanLlama/expected,
38
// but is heavily modified.
39
//
40
// The original source is here:
41
//     https://github.com/TartanLlama/expected
42
// which is licensed under CC0 (Public Domain).
43
44
namespace scn {
45
SCN_BEGIN_NAMESPACE
46
47
/////////////////////////////////////////////////////////////////
48
// Metaprogramming facilities
49
/////////////////////////////////////////////////////////////////
50
51
namespace detail {
52
53
template <typename T>
54
using integer_type_for_char =
55
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
56
57
template <typename T, template <typename...> class Templ>
58
struct is_specialization_of_impl : std::false_type {};
59
template <typename... T, template <typename...> class Templ>
60
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
61
62
template <typename T, template <typename...> class Templ>
63
using is_specialization_of =
64
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
65
template <typename T, template <typename...> class Templ>
66
inline constexpr bool is_specialization_of_v =
67
    is_specialization_of<T, Templ>::value;
68
69
// from mp11:
70
71
template <typename T>
72
struct mp_identity {
73
    using type = T;
74
};
75
template <typename T>
76
using mp_identity_t = typename mp_identity<T>::type;
77
78
template <bool B>
79
using mp_bool = std::integral_constant<bool, B>;
80
template <typename T>
81
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
82
template <typename T>
83
using mp_not = mp_bool<!T::value>;
84
85
template <bool C, typename T, typename... E>
86
struct mp_if_c_impl;
87
template <typename T, typename... E>
88
struct mp_if_c_impl<true, T, E...> {
89
    using type = T;
90
};
91
template <typename T, typename E>
92
struct mp_if_c_impl<false, T, E> {
93
    using type = E;
94
};
95
96
template <bool C, typename T, typename... E>
97
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
98
template <typename C, typename T, typename... E>
99
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
100
101
template <template <typename...> class F, typename... T>
102
struct mp_valid_impl {
103
    template <template <typename...> class G, typename = G<T...>>
104
    static std::true_type check(int);
105
    template <template <typename...> class>
106
    static std::false_type check(...);
107
108
    using type = decltype(check<F>(0));
109
};
110
111
template <template <typename...> class F, typename... T>
112
using mp_valid = typename mp_valid_impl<F, T...>::type;
113
template <template <typename...> class F, typename... T>
114
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
115
116
struct mp_nonesuch {};
117
template <template <typename...> class F, typename... T>
118
struct mp_defer_impl {
119
    using type = F<T...>;
120
};
121
122
template <template <typename...> class F, typename... T>
123
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
124
125
template <bool C, class T, template <class...> class F, class... U>
126
struct mp_eval_if_c_impl;
127
128
template <class T, template <class...> class F, class... U>
129
struct mp_eval_if_c_impl<true, T, F, U...> {
130
    using type = T;
131
};
132
133
template <class T, template <class...> class F, class... U>
134
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
135
136
template <bool C, class T, template <class...> class F, class... U>
137
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
138
template <class C, class T, template <class...> class F, class... U>
139
using mp_eval_if =
140
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
141
template <class C, class T, class Q, class... U>
142
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
143
                                                T,
144
                                                Q::template fn,
145
                                                U...>::type;
146
147
// mp_eval_if_not
148
template <class C, class T, template <class...> class F, class... U>
149
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
150
template <class C, class T, class Q, class... U>
151
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
152
153
// mp_eval_or
154
template <class T, template <class...> class F, class... U>
155
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
156
template <class T, class Q, class... U>
157
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
158
159
// mp_valid_and_true
160
template <template <class...> class F, class... T>
161
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
162
template <class Q, class... T>
163
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
164
165
// extension
166
template <template <typename...> class F, typename... T>
167
using mp_valid_result =
168
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
169
template <template <typename...> class F, typename... T>
170
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
171
172
/////////////////////////////////////////////////////////////////
173
// pointer_traits and to_address
174
/////////////////////////////////////////////////////////////////
175
176
template <typename Ptr, typename>
177
struct pointer_traits {};
178
179
template <typename T>
180
struct pointer_traits<T*, void> {
181
    using pointer = T*;
182
    using element_type = T;
183
    using difference_type = std::ptrdiff_t;
184
185
    template <typename U>
186
    using rebind = U*;
187
188
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
189
    static constexpr pointer pointer_to(U& r) noexcept
190
    {
191
        return &r;
192
    }
193
194
    static constexpr pointer to_address(pointer p) noexcept
195
    {
196
        return p;
197
    }
198
};
199
200
template <typename Ptr>
201
using apply_member_difference_type = typename Ptr::difference_type;
202
template <typename Ptr>
203
using get_member_difference_type =
204
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
205
206
template <typename Ptr, typename ElementType>
207
struct pointer_traits_generic_base {
208
    using pointer = Ptr;
209
    using element_type = ElementType;
210
211
    using difference_type = get_member_difference_type<Ptr>;
212
    static_assert(std::is_integral_v<difference_type>);
213
214
    // no rebind (TODO?)
215
216
    template <typename P = Ptr>
217
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
218
    {
219
        return Ptr::pointer_to(r);
220
    }
221
};
222
223
template <typename It, typename = void>
224
struct wrapped_pointer_iterator;
225
226
#ifdef _GLIBCXX_DEBUG
227
template <typename Elem, typename Container>
228
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
229
    static constexpr auto to_address(
230
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
231
    {
232
        return it.base();
233
    }
234
};
235
#endif
236
#if SCN_STDLIB_GLIBCXX
237
template <typename Elem, typename Container>
238
struct wrapped_pointer_iterator<
239
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
240
    static constexpr auto to_address(
241
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
242
    {
243
        return it.base();
244
    }
245
};
246
#endif
247
#if SCN_STDLIB_LIBCPP
248
template <typename Elem>
249
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
250
    static constexpr auto to_address(const std::__wrap_iter<Elem*>& it) noexcept
251
    {
252
        return it.base();
253
    }
254
};
255
#endif
256
257
template <typename I>
258
using apply_deref = decltype(*SCN_DECLVAL(I&));
259
template <typename I>
260
using apply_incr = decltype(++SCN_DECLVAL(I&));
261
template <typename I>
262
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
263
template <typename It>
264
struct wrapped_pointer_iterator<
265
    It,
266
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
267
                     mp_valid_v<apply_incr, It> &&
268
                     mp_valid_v<apply_member_unwrapped, It>>> {
269
    static constexpr auto to_address(const It& it) noexcept
270
    {
271
        return it._Unwrapped();
272
    }
273
};
274
275
template <typename I>
276
using apply_member_to_address =
277
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
278
279
template <typename Iterator>
280
struct pointer_traits<
281
    Iterator,
282
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
283
    : pointer_traits_generic_base<
284
          Iterator,
285
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
286
    static constexpr auto to_address(const Iterator& it) noexcept
287
    {
288
        return wrapped_pointer_iterator<Iterator>::to_address(it);
289
    }
290
};
291
292
template <typename It>
293
using apply_ptr_traits_to_address =
294
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
295
template <typename It>
296
inline constexpr bool can_make_address_from_iterator =
297
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
298
299
template <typename T>
300
constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
301
1.20G
{
302
1.20G
    return p;
303
1.20G
}
char const* scn::v3::detail::to_address_impl<char const>(char const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
301
39.1M
{
302
39.1M
    return p;
303
39.1M
}
wchar_t const* scn::v3::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
301
1.16G
{
302
1.16G
    return p;
303
1.16G
}
304
template <typename Ptr>
305
constexpr auto to_address_impl(const Ptr& p, priority_tag<1>) noexcept
306
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
307
{
308
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
309
}
310
template <typename Ptr>
311
constexpr auto to_address_impl(const Ptr& p, priority_tag<0>) noexcept
312
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
313
                                               priority_tag<2>{}))
314
{
315
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
316
}
317
318
template <typename Ptr>
319
constexpr auto to_address(Ptr&& p) noexcept
320
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
321
1.20G
{
322
1.20G
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
1.20G
}
_ZN3scn2v36detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
35.3M
{
322
35.3M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
35.3M
}
_ZN3scn2v36detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
3.80M
{
322
3.80M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
3.80M
}
_ZN3scn2v36detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
1.13G
{
322
1.13G
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
1.13G
}
_ZN3scn2v36detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
321
33.7M
{
322
33.7M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
323
33.7M
}
324
325
}  // namespace detail
326
327
template <typename E>
328
class SCN_TRIVIAL_ABI unexpected {
329
    static_assert(std::is_destructible_v<E>);
330
331
public:
332
    unexpected() = delete;
333
334
    template <
335
        typename Err = E,
336
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
337
                                    !std::is_same_v<Err, std::in_place_t> &&
338
                                    std::is_constructible_v<E, Err>>>
339
    explicit constexpr unexpected(Err&& e) noexcept(
340
        std::is_nothrow_constructible_v<E, Err>)
341
        : m_unexpected(std::forward<Err>(e))
342
20.7M
    {
343
20.7M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
20.7M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error&, void>(scn::v3::scan_error&)
Line
Count
Source
342
7.47M
    {
343
7.47M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
7.47M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(scn::v3::scan_error&&)
Line
Count
Source
342
665k
    {
343
665k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
665k
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(scn::v3::impl::eof_error&&)
Line
Count
Source
342
77.3k
    {
343
77.3k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
77.3k
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error&, void>(scn::v3::impl::eof_error&)
Line
Count
Source
342
73.2k
    {
343
73.2k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
73.2k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(scn::v3::impl::parse_error&&)
Line
Count
Source
342
22.5k
    {
343
22.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
22.5k
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::unexpected<scn::v3::impl::parse_error::code, void>(scn::v3::impl::parse_error::code&&)
Line
Count
Source
342
12.1M
    {
343
12.1M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
12.1M
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error&, void>(scn::v3::impl::parse_error&)
Line
Count
Source
342
331k
    {
343
331k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
344
331k
    }
345
346
    template <typename... Args,
347
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
348
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
349
        std::is_nothrow_constructible_v<E, Args...>)
350
        : m_unexpected(std::forward<Args>(args)...)
351
21.5M
    {
352
21.5M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
21.5M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(std::__1::in_place_t, scn::v3::scan_error&&)
Line
Count
Source
351
8.83M
    {
352
8.83M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
8.83M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(std::__1::in_place_t, scn::v3::impl::eof_error&&)
Line
Count
Source
351
150k
    {
352
150k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
150k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(std::__1::in_place_t, scn::v3::impl::parse_error&&)
Line
Count
Source
351
431k
    {
352
431k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
431k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error::code, void>(std::__1::in_place_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
351
12.1M
    {
352
12.1M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
353
12.1M
    }
354
355
    SCN_NODISCARD constexpr E& error() & noexcept
356
33.5M
    {
357
33.5M
        return m_unexpected;
358
33.5M
    }
scn::v3::unexpected<scn::v3::scan_error>::error() &
Line
Count
Source
356
14.9M
    {
357
14.9M
        return m_unexpected;
358
14.9M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::error() &
Line
Count
Source
356
301k
    {
357
301k
        return m_unexpected;
358
301k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::error() &
Line
Count
Source
356
6.19M
    {
357
6.19M
        return m_unexpected;
358
6.19M
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::error() &
Line
Count
Source
356
12.1M
    {
357
12.1M
        return m_unexpected;
358
12.1M
    }
359
    SCN_NODISCARD constexpr const E& error() const& noexcept
360
0
    {
361
0
        return m_unexpected;
362
0
    }
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::parse_error>::error() const &
363
364
    SCN_NODISCARD constexpr E&& error() && noexcept
365
    {
366
        return std::move(m_unexpected);
367
    }
368
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
369
    {
370
        return std::move(m_unexpected);
371
    }
372
373
private:
374
    E m_unexpected;
375
};
376
377
template <typename E>
378
unexpected(E) -> unexpected<E>;
379
380
struct unexpect_t {};
381
inline constexpr unexpect_t unexpect{};
382
383
namespace detail {
384
template <typename T, typename... Args>
385
T* construct_at(T* p, Args&&... args) noexcept(
386
    std::is_nothrow_constructible_v<T, Args...>)
387
34.8M
{
388
34.8M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
34.8M
        T(std::forward<Args>(args)...);
390
34.8M
}
scn::v3::unexpected<scn::v3::scan_error>* scn::v3::detail::construct_at<scn::v3::unexpected<scn::v3::scan_error>, std::__1::in_place_t const&, scn::v3::scan_error>(scn::v3::unexpected<scn::v3::scan_error>*, std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
387
216k
{
388
216k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
216k
        T(std::forward<Args>(args)...);
390
216k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
145k
{
388
145k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
145k
        T(std::forward<Args>(args)...);
390
145k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
387
942
{
388
942
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
942
        T(std::forward<Args>(args)...);
390
942
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
2
{
388
2
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
2
        T(std::forward<Args>(args)...);
390
2
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
387
16.8M
{
388
16.8M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
16.8M
        T(std::forward<Args>(args)...);
390
16.8M
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
311k
{
388
311k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
311k
        T(std::forward<Args>(args)...);
390
311k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
309k
{
388
309k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
309k
        T(std::forward<Args>(args)...);
390
309k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
724
{
388
724
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
724
        T(std::forward<Args>(args)...);
390
724
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
724
{
388
724
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
724
        T(std::forward<Args>(args)...);
390
724
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
387
146k
{
388
146k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
146k
        T(std::forward<Args>(args)...);
390
146k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
387
16.8M
{
388
16.8M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
389
16.8M
        T(std::forward<Args>(args)...);
390
16.8M
}
391
template <typename T>
392
void destroy_at(T* p) noexcept
393
34.8M
{
394
34.8M
    if constexpr (std::is_array_v<T>) {
395
34.8M
        for (auto& elem : *p) {
396
34.8M
            scn::detail::destroy_at(&elem);
397
34.8M
        }
398
34.8M
    }
399
34.8M
    else {
400
34.8M
        p->~T();
401
34.8M
    }
402
34.8M
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
145k
{
394
145k
    if constexpr (std::is_array_v<T>) {
395
145k
        for (auto& elem : *p) {
396
145k
            scn::detail::destroy_at(&elem);
397
145k
        }
398
145k
    }
399
145k
    else {
400
145k
        p->~T();
401
145k
    }
402
145k
}
void scn::v3::detail::destroy_at<scn::v3::unexpected<scn::v3::scan_error> >(scn::v3::unexpected<scn::v3::scan_error>*)
Line
Count
Source
393
216k
{
394
216k
    if constexpr (std::is_array_v<T>) {
395
216k
        for (auto& elem : *p) {
396
216k
            scn::detail::destroy_at(&elem);
397
216k
        }
398
216k
    }
399
216k
    else {
400
216k
        p->~T();
401
216k
    }
402
216k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
393
942
{
394
942
    if constexpr (std::is_array_v<T>) {
395
942
        for (auto& elem : *p) {
396
942
            scn::detail::destroy_at(&elem);
397
942
        }
398
942
    }
399
942
    else {
400
942
        p->~T();
401
942
    }
402
942
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
2
{
394
2
    if constexpr (std::is_array_v<T>) {
395
2
        for (auto& elem : *p) {
396
2
            scn::detail::destroy_at(&elem);
397
2
        }
398
2
    }
399
2
    else {
400
2
        p->~T();
401
2
    }
402
2
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
393
16.8M
{
394
16.8M
    if constexpr (std::is_array_v<T>) {
395
16.8M
        for (auto& elem : *p) {
396
16.8M
            scn::detail::destroy_at(&elem);
397
16.8M
        }
398
16.8M
    }
399
16.8M
    else {
400
16.8M
        p->~T();
401
16.8M
    }
402
16.8M
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
311k
{
394
311k
    if constexpr (std::is_array_v<T>) {
395
311k
        for (auto& elem : *p) {
396
311k
            scn::detail::destroy_at(&elem);
397
311k
        }
398
311k
    }
399
311k
    else {
400
311k
        p->~T();
401
311k
    }
402
311k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
309k
{
394
309k
    if constexpr (std::is_array_v<T>) {
395
309k
        for (auto& elem : *p) {
396
309k
            scn::detail::destroy_at(&elem);
397
309k
        }
398
309k
    }
399
309k
    else {
400
309k
        p->~T();
401
309k
    }
402
309k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
724
{
394
724
    if constexpr (std::is_array_v<T>) {
395
724
        for (auto& elem : *p) {
396
724
            scn::detail::destroy_at(&elem);
397
724
        }
398
724
    }
399
724
    else {
400
724
        p->~T();
401
724
    }
402
724
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
724
{
394
724
    if constexpr (std::is_array_v<T>) {
395
724
        for (auto& elem : *p) {
396
724
            scn::detail::destroy_at(&elem);
397
724
        }
398
724
    }
399
724
    else {
400
724
        p->~T();
401
724
    }
402
724
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
393
146k
{
394
146k
    if constexpr (std::is_array_v<T>) {
395
146k
        for (auto& elem : *p) {
396
146k
            scn::detail::destroy_at(&elem);
397
146k
        }
398
146k
    }
399
146k
    else {
400
146k
        p->~T();
401
146k
    }
402
146k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
393
16.8M
{
394
16.8M
    if constexpr (std::is_array_v<T>) {
395
16.8M
        for (auto& elem : *p) {
396
16.8M
            scn::detail::destroy_at(&elem);
397
16.8M
        }
398
16.8M
    }
399
16.8M
    else {
400
16.8M
        p->~T();
401
16.8M
    }
402
16.8M
}
403
404
struct deferred_init_tag_t {};
405
static constexpr deferred_init_tag_t deferred_init_tag{};
406
407
template <typename T,
408
          typename E,
409
          bool IsTriviallyDestructible = std::is_trivially_destructible_v<T> &&
410
                                         std::is_trivially_destructible_v<E>>
411
struct expected_storage_base;
412
413
template <typename T, typename E>
414
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
415
    constexpr expected_storage_base() noexcept(
416
        std::is_nothrow_default_constructible_v<T>)
417
        : m_value(T{}), m_has_value(true)
418
    {
419
    }
420
421
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
422
        : m_deferred_init(), m_has_value(false)
423
    {
424
    }
425
426
    template <typename... Args,
427
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
428
    constexpr explicit expected_storage_base(
429
        std::in_place_t,
430
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
431
        : m_value(std::forward<Args>(args)...), m_has_value(true)
432
413M
    {
433
413M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
432
2.42M
    {
433
2.42M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
432
180
    {
433
180
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
432
382k
    {
433
382k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
432
324k
    {
433
324k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
432
46.2k
    {
433
46.2k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
432
145k
    {
433
145k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
432
33.6M
    {
433
33.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
432
2
    {
433
2
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
432
711
    {
433
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
432
564
    {
433
564
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
432
16.8M
    {
433
16.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
432
6.51M
    {
433
6.51M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
432
34.0M
    {
433
34.0M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
432
13.3M
    {
433
13.3M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
432
68.0M
    {
433
68.0M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
432
7.73M
    {
433
7.73M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
432
3.52M
    {
433
3.52M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
432
812k
    {
433
812k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
2.29M
    {
433
2.29M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
432
3.94M
    {
433
3.94M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
432
1.71M
    {
433
1.71M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
432
5.52M
    {
433
5.52M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
432
10
    {
433
10
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
432
3.65M
    {
433
3.65M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
432
765k
    {
433
765k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
2.29M
    {
433
2.29M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
432
73.4k
    {
433
73.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
432
2.16M
    {
433
2.16M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
432
1.76M
    {
433
1.76M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
432
55.7M
    {
433
55.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
119k
    {
433
119k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
130k
    {
433
130k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<std::__1::regex_constants::syntax_option_type, void>(std::__1::in_place_t, std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
432
14.1k
    {
433
14.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
432
754
    {
433
754
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
Line
Count
Source
432
5.28k
    {
433
5.28k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
432
17.9M
    {
433
17.9M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
432
13.7M
    {
433
13.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
432
2.98k
    {
433
2.98k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
354k
    {
433
354k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
432
263k
    {
433
263k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
432
351k
    {
433
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
432
351k
    {
433
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
432
6.74M
    {
433
6.74M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
432
34.7M
    {
433
34.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
432
27.2M
    {
433
27.2M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
432
2.98k
    {
433
2.98k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
354k
    {
433
354k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
432
260k
    {
433
260k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
432
352k
    {
433
352k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
432
352k
    {
433
352k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
432
13.4M
    {
433
13.4M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
2.49k
    {
433
2.49k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
432
2.58k
    {
433
2.58k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
432
30
    {
433
30
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Line
Count
Source
432
60
    {
433
60
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<int, void>(std::__1::in_place_t, int&&)
Line
Count
Source
432
13.1k
    {
433
13.1k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
432
296k
    {
433
296k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
432
283k
    {
433
283k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
432
390k
    {
433
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
432
328k
    {
433
328k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
432
2.28M
    {
433
2.28M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
432
298k
    {
433
298k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
432
285k
    {
433
285k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
432
383k
    {
433
383k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
432
326k
    {
433
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
432
390k
    {
433
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
432
330k
    {
433
330k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
432
595
    {
433
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
432
500
    {
433
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
432
864
    {
433
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
432
694
    {
433
694
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
432
16.8M
    {
433
16.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
432
595
    {
433
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
432
500
    {
433
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
432
711
    {
433
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
432
564
    {
433
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
432
864
    {
433
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
432
694
    {
433
694
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
432
34.7k
    {
433
34.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
432
46.2k
    {
433
46.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
432
31.9k
    {
433
31.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
432
43.4k
    {
433
43.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
432
43.4k
    {
433
43.4k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
434
435
    template <typename... Args,
436
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
437
    constexpr explicit expected_storage_base(
438
        unexpect_t,
439
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
440
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
441
          m_has_value(false)
442
21.3M
    {
443
21.3M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
342k
    {
443
342k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
8.86k
    {
443
8.86k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
49.9k
    {
443
49.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
49.9k
    {
443
49.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
9.45k
    {
443
9.45k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
9.04k
    {
443
9.04k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
9.04k
    {
443
9.04k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
17.1k
    {
443
17.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
691k
    {
443
691k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
18.0k
    {
443
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
99.8k
    {
443
99.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
99.8k
    {
443
99.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
18.9k
    {
443
18.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
18.0k
    {
443
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
18.0k
    {
443
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
36.0k
    {
443
36.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
530k
    {
443
530k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
966k
    {
443
966k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
780k
    {
443
780k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
990k
    {
443
990k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
48.9k
    {
443
48.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
20.9k
    {
443
20.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
161k
    {
443
161k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
5.21M
    {
443
5.21M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
28.6k
    {
443
28.6k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
19.9k
    {
443
19.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
151k
    {
443
151k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
5.01M
    {
443
5.01M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
1.80M
    {
443
1.80M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
34.5k
    {
443
34.5k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
3.48k
    {
443
3.48k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
58.7k
    {
443
58.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
1.10M
    {
443
1.10M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
442
38.4k
    {
443
38.4k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
5.02k
    {
443
5.02k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
442
59.0k
    {
443
59.0k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
442
800k
    {
443
800k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
255k
    {
443
255k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
40.8k
    {
443
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
510k
    {
443
510k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
81.7k
    {
443
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
416
    {
443
416
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
416
    {
443
416
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
416
    {
443
416
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
416
    {
443
416
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
416
    {
443
416
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
832
    {
443
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
832
    {
443
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
832
    {
443
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
832
    {
443
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
442
832
    {
443
832
    }
444
445
    constexpr T& get_value() & noexcept
446
427M
    {
447
427M
        return m_value;
448
427M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
74.8M
    {
447
74.8M
        return m_value;
448
74.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.42M
    {
447
2.42M
        return m_value;
448
2.42M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
33.6M
    {
447
33.6M
        return m_value;
448
33.6M
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
14.1k
    {
447
14.1k
        return m_value;
448
14.1k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
5.15M
    {
447
5.15M
        return m_value;
448
5.15M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
17.4M
    {
447
17.4M
        return m_value;
448
17.4M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
15.0M
    {
447
15.0M
        return m_value;
448
15.0M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
81.5M
    {
447
81.5M
        return m_value;
448
81.5M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
3.08M
    {
447
3.08M
        return m_value;
448
3.08M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
3.52M
    {
447
3.52M
        return m_value;
448
3.52M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
4.90M
    {
447
4.90M
        return m_value;
448
4.90M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
2.29M
    {
447
2.29M
        return m_value;
448
2.29M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
8.11M
    {
447
8.11M
        return m_value;
448
8.11M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
10
    {
447
10
        return m_value;
448
10
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
3.65M
    {
447
3.65M
        return m_value;
448
3.65M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
871k
    {
447
871k
        return m_value;
448
871k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
2.29M
    {
447
2.29M
        return m_value;
448
2.29M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.16M
    {
447
2.16M
        return m_value;
448
2.16M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
119k
    {
447
119k
        return m_value;
448
119k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
130k
    {
447
130k
        return m_value;
448
130k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
13.7M
    {
447
13.7M
        return m_value;
448
13.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
266k
    {
447
266k
        return m_value;
448
266k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
354k
    {
447
354k
        return m_value;
448
354k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
351k
    {
447
351k
        return m_value;
448
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
351k
    {
447
351k
        return m_value;
448
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
40.8M
    {
447
40.8M
        return m_value;
448
40.8M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
34.3M
    {
447
34.3M
        return m_value;
448
34.3M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
27.2M
    {
447
27.2M
        return m_value;
448
27.2M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
446
263k
    {
447
263k
        return m_value;
448
263k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
354k
    {
447
354k
        return m_value;
448
354k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
446
352k
    {
447
352k
        return m_value;
448
352k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
352k
    {
447
352k
        return m_value;
448
352k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.49k
    {
447
2.49k
        return m_value;
448
2.49k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.58k
    {
447
2.58k
        return m_value;
448
2.58k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
296k
    {
447
296k
        return m_value;
448
296k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
283k
    {
447
283k
        return m_value;
448
283k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
382k
    {
447
382k
        return m_value;
448
382k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
324k
    {
447
324k
        return m_value;
448
324k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
390k
    {
447
390k
        return m_value;
448
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
328k
    {
447
328k
        return m_value;
448
328k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
2.28M
    {
447
2.28M
        return m_value;
448
2.28M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
298k
    {
447
298k
        return m_value;
448
298k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
285k
    {
447
285k
        return m_value;
448
285k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
383k
    {
447
383k
        return m_value;
448
383k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
326k
    {
447
326k
        return m_value;
448
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
390k
    {
447
390k
        return m_value;
448
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
330k
    {
447
330k
        return m_value;
448
330k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
595
    {
447
595
        return m_value;
448
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
500
    {
447
500
        return m_value;
448
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
711
    {
447
711
        return m_value;
448
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
564
    {
447
564
        return m_value;
448
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
864
    {
447
864
        return m_value;
448
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
694
    {
447
694
        return m_value;
448
694
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
16.8M
    {
447
16.8M
        return m_value;
448
16.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
595
    {
447
595
        return m_value;
448
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
500
    {
447
500
        return m_value;
448
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
711
    {
447
711
        return m_value;
448
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
564
    {
447
564
        return m_value;
448
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
864
    {
447
864
        return m_value;
448
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
694
    {
447
694
        return m_value;
448
694
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
145k
    {
447
145k
        return m_value;
448
145k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
16.8M
    {
447
16.8M
        return m_value;
448
16.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
34.7k
    {
447
34.7k
        return m_value;
448
34.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
46.2k
    {
447
46.2k
        return m_value;
448
46.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
46.2k
    {
447
46.2k
        return m_value;
448
46.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
31.9k
    {
447
31.9k
        return m_value;
448
31.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
43.4k
    {
447
43.4k
        return m_value;
448
43.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
446
43.4k
    {
447
43.4k
        return m_value;
448
43.4k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::get_value() &
449
    constexpr const T& get_value() const& noexcept
450
0
    {
451
0
        return m_value;
452
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() const &
453
    constexpr T&& get_value() && noexcept
454
    {
455
        return std::move(m_value);
456
    }
457
    constexpr const T&& get_value() const&& noexcept
458
    {
459
        return std::move(m_value);
460
    }
461
462
    constexpr unexpected<E>& get_unexpected() & noexcept
463
12.6M
    {
464
12.6M
        return m_unexpected;
465
12.6M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
1.80M
    {
464
1.80M
        return m_unexpected;
465
1.80M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
342k
    {
464
342k
        return m_unexpected;
465
342k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
691k
    {
464
691k
        return m_unexpected;
465
691k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
48.9k
    {
464
48.9k
        return m_unexpected;
465
48.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
34.5k
    {
464
34.5k
        return m_unexpected;
465
34.5k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
656k
    {
464
656k
        return m_unexpected;
465
656k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
987k
    {
464
987k
        return m_unexpected;
465
987k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
28.6k
    {
464
28.6k
        return m_unexpected;
465
28.6k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
20.9k
    {
464
20.9k
        return m_unexpected;
465
20.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
2.41M
    {
464
2.41M
        return m_unexpected;
465
2.41M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
416k
    {
464
416k
        return m_unexpected;
465
416k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
19.9k
    {
464
19.9k
        return m_unexpected;
465
19.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
2.34M
    {
464
2.34M
        return m_unexpected;
465
2.34M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
3.48k
    {
464
3.48k
        return m_unexpected;
465
3.48k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
687k
    {
464
687k
        return m_unexpected;
465
687k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
963k
    {
464
963k
        return m_unexpected;
465
963k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
463
38.4k
    {
464
38.4k
        return m_unexpected;
465
38.4k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
5.02k
    {
464
5.02k
        return m_unexpected;
465
5.02k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
463
386k
    {
464
386k
        return m_unexpected;
465
386k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
255k
    {
464
255k
        return m_unexpected;
465
255k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
463
510k
    {
464
510k
        return m_unexpected;
465
510k
    }
466
    constexpr const unexpected<E>& get_unexpected() const& noexcept
467
0
    {
468
0
        return m_unexpected;
469
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
470
    constexpr unexpected<E>&& get_unexpected() && noexcept
471
    {
472
        return std::move(m_unexpected);
473
    }
474
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
475
    {
476
        return std::move(m_unexpected);
477
    }
478
479
    SCN_NODISCARD constexpr bool has_value() const noexcept
480
895M
    {
481
895M
        return m_has_value;
482
895M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
154M
    {
481
154M
        return m_has_value;
482
154M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
5.54M
    {
481
5.54M
        return m_has_value;
482
5.54M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
68.7M
    {
481
68.7M
        return m_has_value;
482
68.7M
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
28.3k
    {
481
28.3k
        return m_has_value;
482
28.3k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
12.9M
    {
481
12.9M
        return m_has_value;
482
12.9M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
35.4M
    {
481
35.4M
        return m_has_value;
482
35.4M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
31.7M
    {
481
31.7M
        return m_has_value;
482
31.7M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
165M
    {
481
165M
        return m_has_value;
482
165M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
8.66M
    {
481
8.66M
        return m_has_value;
482
8.66M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
7.09M
    {
481
7.09M
        return m_has_value;
482
7.09M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
17.6M
    {
481
17.6M
        return m_has_value;
482
17.6M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
4.58M
    {
481
4.58M
        return m_has_value;
482
4.58M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
4.33M
    {
481
4.33M
        return m_has_value;
482
4.33M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
4.33M
    {
481
4.33M
        return m_has_value;
482
4.33M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
17.4M
    {
481
17.4M
        return m_has_value;
482
17.4M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
20
    {
481
20
        return m_has_value;
482
20
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
7.34M
    {
481
7.34M
        return m_has_value;
482
7.34M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
9.47M
    {
481
9.47M
        return m_has_value;
482
9.47M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
4.59M
    {
481
4.59M
        return m_has_value;
482
4.59M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
4.32M
    {
481
4.32M
        return m_has_value;
482
4.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
4.32M
    {
481
4.32M
        return m_has_value;
482
4.32M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
239k
    {
481
239k
        return m_has_value;
482
239k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
260k
    {
481
260k
        return m_has_value;
482
260k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
27.5M
    {
481
27.5M
        return m_has_value;
482
27.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
2.38M
    {
481
2.38M
        return m_has_value;
482
2.38M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
708k
    {
481
708k
        return m_has_value;
482
708k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
703k
    {
481
703k
        return m_has_value;
482
703k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
703k
    {
481
703k
        return m_has_value;
482
703k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.5M
    {
481
83.5M
        return m_has_value;
482
83.5M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
69.1M
    {
481
69.1M
        return m_has_value;
482
69.1M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
54.5M
    {
481
54.5M
        return m_has_value;
482
54.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
480
1.77M
    {
481
1.77M
        return m_has_value;
482
1.77M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
709k
    {
481
709k
        return m_has_value;
482
709k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
480
704k
    {
481
704k
        return m_has_value;
482
704k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
704k
    {
481
704k
        return m_has_value;
482
704k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
4.99k
    {
481
4.99k
        return m_has_value;
482
4.99k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
5.17k
    {
481
5.17k
        return m_has_value;
482
5.17k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
634k
    {
481
634k
        return m_has_value;
482
634k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
607k
    {
481
607k
        return m_has_value;
482
607k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
806k
    {
481
806k
        return m_has_value;
482
806k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
690k
    {
481
690k
        return m_has_value;
482
690k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
822k
    {
481
822k
        return m_has_value;
482
822k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
698k
    {
481
698k
        return m_has_value;
482
698k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
5.07M
    {
481
5.07M
        return m_has_value;
482
5.07M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
638k
    {
481
638k
        return m_has_value;
482
638k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
610k
    {
481
610k
        return m_has_value;
482
610k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
807k
    {
481
807k
        return m_has_value;
482
807k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
693k
    {
481
693k
        return m_has_value;
482
693k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
822k
    {
481
822k
        return m_has_value;
482
822k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
702k
    {
481
702k
        return m_has_value;
482
702k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.9k
    {
481
82.9k
        return m_has_value;
482
82.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.7k
    {
481
82.7k
        return m_has_value;
482
82.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.8k
    {
481
82.8k
        return m_has_value;
482
82.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.4k
    {
481
83.4k
        return m_has_value;
482
83.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
34.7M
    {
481
34.7M
        return m_has_value;
482
34.7M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.9k
    {
481
82.9k
        return m_has_value;
482
82.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.7k
    {
481
82.7k
        return m_has_value;
482
82.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
82.8k
    {
481
82.8k
        return m_has_value;
482
82.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.4k
    {
481
83.4k
        return m_has_value;
482
83.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
83.1k
    {
481
83.1k
        return m_has_value;
482
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
299k
    {
481
299k
        return m_has_value;
482
299k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
33.7M
    {
481
33.7M
        return m_has_value;
482
33.7M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
69.9k
    {
481
69.9k
        return m_has_value;
482
69.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
92.9k
    {
481
92.9k
        return m_has_value;
482
92.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
92.9k
    {
481
92.9k
        return m_has_value;
482
92.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
64.3k
    {
481
64.3k
        return m_has_value;
482
64.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
87.2k
    {
481
87.2k
        return m_has_value;
482
87.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
87.2k
    {
481
87.2k
        return m_has_value;
482
87.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
832
    {
481
832
        return m_has_value;
482
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
832
    {
481
832
        return m_has_value;
482
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
832
    {
481
832
        return m_has_value;
482
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
832
    {
481
832
        return m_has_value;
482
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
832
    {
481
832
        return m_has_value;
482
832
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
480
832
    {
481
832
        return m_has_value;
482
832
    }
483
484
    template <typename... Args>
485
    void construct(Args&&... args) noexcept(
486
        std::is_nothrow_constructible_v<T, Args...>)
487
    {
488
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
489
        m_has_value = true;
490
    }
491
    template <typename... Args>
492
    void construct_unexpected(Args&&... args) noexcept(
493
        std::is_nothrow_constructible_v<E, Args...>)
494
    {
495
        scn::detail::construct_at(&get_unexpected(),
496
                                  std::forward<Args>(args)...);
497
        m_has_value = false;
498
    }
499
500
    // No-op, because T and E are trivially destructible
501
    static constexpr void destroy_value() noexcept {}
502
    static constexpr void destroy_unexpected() noexcept {}
503
504
private:
505
    union {
506
        T m_value;
507
        unexpected<E> m_unexpected;
508
        char m_deferred_init;
509
    };
510
    bool m_has_value;
511
};
512
513
template <typename E>
514
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
515
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
516
517
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
518
        : m_deferred_init(), m_has_value(false)
519
    {
520
    }
521
522
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
523
        : m_has_value(true)
524
    {
525
    }
526
527
    template <typename... Args,
528
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
529
    explicit constexpr expected_storage_base(
530
        unexpect_t,
531
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
532
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
533
          m_has_value(false)
534
    {
535
    }
536
537
    constexpr unexpected<E>& get_unexpected() & noexcept
538
    {
539
        return m_unexpected;
540
    }
541
    constexpr const unexpected<E>& get_unexpected() const& noexcept
542
    {
543
        return m_unexpected;
544
    }
545
    constexpr unexpected<E>&& get_unexpected() && noexcept
546
    {
547
        return std::move(m_unexpected);
548
    }
549
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
550
    {
551
        return std::move(m_unexpected);
552
    }
553
554
    SCN_NODISCARD constexpr bool has_value() const noexcept
555
    {
556
        return m_has_value;
557
    }
558
559
    template <typename... Args>
560
    void construct(Args&&...) noexcept
561
    {
562
        m_has_value = true;
563
    }
564
    template <typename... Args>
565
    void construct_unexpected(Args&&... args) noexcept(
566
        std::is_nothrow_constructible_v<E, Args...>)
567
    {
568
        scn::detail::construct_at(&get_unexpected(),
569
                                  std::forward<Args>(args)...);
570
        m_has_value = false;
571
    }
572
573
    static constexpr void destroy_value() noexcept {}
574
    static constexpr void destroy_unexpected() noexcept {}
575
576
private:
577
    union {
578
        unexpected<E> m_unexpected;
579
        char m_deferred_init;
580
    };
581
    bool m_has_value;
582
};
583
584
/**
585
 * Implementation of `std::max` without including `<algorithm>`
586
 */
587
template <typename T>
588
constexpr T max(T a, T b) noexcept
589
0
{
590
0
    return (a < b) ? b : a;
591
0
}
592
593
template <typename T, typename E>
594
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
595
    constexpr expected_storage_base() noexcept : m_has_value(true)
596
    {
597
        construct();
598
    }
599
600
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
601
        : m_has_value(false)
602
    {
603
    }
604
605
    template <typename... Args,
606
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
607
    explicit constexpr expected_storage_base(
608
        std::in_place_t,
609
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
610
        : m_has_value(true)
611
34.6M
    {
612
34.6M
        construct(std::forward<Args>(args)...);
613
34.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
145k
    {
612
145k
        construct(std::forward<Args>(args)...);
613
145k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
611
942
    {
612
942
        construct(std::forward<Args>(args)...);
613
942
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
2
    {
612
2
        construct(std::forward<Args>(args)...);
613
2
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
611
16.8M
    {
612
16.8M
        construct(std::forward<Args>(args)...);
613
16.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
311k
    {
612
311k
        construct(std::forward<Args>(args)...);
613
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
309k
    {
612
309k
        construct(std::forward<Args>(args)...);
613
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
724
    {
612
724
        construct(std::forward<Args>(args)...);
613
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
724
    {
612
724
        construct(std::forward<Args>(args)...);
613
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
611
146k
    {
612
146k
        construct(std::forward<Args>(args)...);
613
146k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
611
16.8M
    {
612
16.8M
        construct(std::forward<Args>(args)...);
613
16.8M
    }
614
615
    template <typename... Args,
616
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
617
    explicit constexpr expected_storage_base(
618
        unexpect_t,
619
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
620
        : m_has_value(false)
621
216k
    {
622
216k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
216k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
17.1k
    {
622
17.1k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
17.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
8.09k
    {
622
8.09k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
8.09k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
18.0k
    {
622
18.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
36.0k
    {
622
36.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
36.0k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
8.86k
    {
622
8.86k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
8.86k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
9.28k
    {
622
9.28k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
9.28k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
46.0k
    {
622
46.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
46.0k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
46.0k
    {
622
46.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
46.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
9.00k
    {
622
9.00k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
9.00k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
621
18.0k
    {
622
18.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
623
18.0k
    }
624
625
    ~expected_storage_base()
626
34.8M
    {
627
34.8M
        if (has_value()) {
628
34.6M
            destroy_value();
629
34.6M
        }
630
216k
        else {
631
216k
            destroy_unexpected();
632
216k
        }
633
34.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
163k
    {
627
163k
        if (has_value()) {
628
145k
            destroy_value();
629
145k
        }
630
17.1k
        else {
631
17.1k
            destroy_unexpected();
632
17.1k
        }
633
163k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
9.04k
    {
627
9.04k
        if (has_value()) {
628
942
            destroy_value();
629
942
        }
630
8.09k
        else {
631
8.09k
            destroy_unexpected();
632
8.09k
        }
633
9.04k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
18.0k
    {
627
18.0k
        if (has_value()) {
628
2
            destroy_value();
629
2
        }
630
18.0k
        else {
631
18.0k
            destroy_unexpected();
632
18.0k
        }
633
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
16.8M
    {
627
16.8M
        if (has_value()) {
628
16.8M
            destroy_value();
629
16.8M
        }
630
36.0k
        else {
631
36.0k
            destroy_unexpected();
632
36.0k
        }
633
16.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
320k
    {
627
320k
        if (has_value()) {
628
311k
            destroy_value();
629
311k
        }
630
8.86k
        else {
631
8.86k
            destroy_unexpected();
632
8.86k
        }
633
320k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
319k
    {
627
319k
        if (has_value()) {
628
309k
            destroy_value();
629
309k
        }
630
9.28k
        else {
631
9.28k
            destroy_unexpected();
632
9.28k
        }
633
319k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
46.7k
    {
627
46.7k
        if (has_value()) {
628
724
            destroy_value();
629
724
        }
630
46.0k
        else {
631
46.0k
            destroy_unexpected();
632
46.0k
        }
633
46.7k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
46.7k
    {
627
46.7k
        if (has_value()) {
628
724
            destroy_value();
629
724
        }
630
46.0k
        else {
631
46.0k
            destroy_unexpected();
632
46.0k
        }
633
46.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
155k
    {
627
155k
        if (has_value()) {
628
146k
            destroy_value();
629
146k
        }
630
9.00k
        else {
631
9.00k
            destroy_unexpected();
632
9.00k
        }
633
155k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
626
16.8M
    {
627
16.8M
        if (has_value()) {
628
16.8M
            destroy_value();
629
16.8M
        }
630
18.0k
        else {
631
18.0k
            destroy_unexpected();
632
18.0k
        }
633
16.8M
    }
634
635
    constexpr T& get_value() & noexcept
636
34.6M
    {
637
34.6M
        return *value_ptr();
638
34.6M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
311k
    {
637
311k
        return *value_ptr();
638
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
309k
    {
637
309k
        return *value_ptr();
638
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
724
    {
637
724
        return *value_ptr();
638
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
724
    {
637
724
        return *value_ptr();
638
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
145k
    {
637
145k
        return *value_ptr();
638
145k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
146k
    {
637
146k
        return *value_ptr();
638
146k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
16.8M
    {
637
16.8M
        return *value_ptr();
638
16.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
636
16.8M
    {
637
16.8M
        return *value_ptr();
638
16.8M
    }
639
    constexpr const T& get_value() const& noexcept
640
    {
641
        return *value_ptr();
642
    }
643
    constexpr T&& get_value() && noexcept
644
    {
645
        return std::move(*value_ptr());
646
    }
647
    constexpr const T&& get_value() const&& noexcept
648
    {
649
        return std::move(*value_ptr());
650
    }
651
652
    constexpr unexpected<E>& get_unexpected() & noexcept
653
110k
    {
654
110k
        return *unexpected_ptr();
655
110k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
8.86k
    {
654
8.86k
        return *unexpected_ptr();
655
8.86k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
9.28k
    {
654
9.28k
        return *unexpected_ptr();
655
9.28k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
46.0k
    {
654
46.0k
        return *unexpected_ptr();
655
46.0k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
653
46.0k
    {
654
46.0k
        return *unexpected_ptr();
655
46.0k
    }
656
    constexpr const unexpected<E>& get_unexpected() const& noexcept
657
    {
658
        return *unexpected_ptr();
659
    }
660
    constexpr unexpected<E>&& get_unexpected() && noexcept
661
    {
662
        return std::move(*unexpected_ptr());
663
    }
664
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
665
    {
666
        return std::move(*unexpected_ptr());
667
    }
668
669
    SCN_NODISCARD constexpr bool has_value() const noexcept
670
104M
    {
671
104M
        return m_has_value;
672
104M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
462k
    {
671
462k
        return m_has_value;
672
462k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
9.04k
    {
671
9.04k
        return m_has_value;
672
9.04k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
18.0k
    {
671
18.0k
        return m_has_value;
672
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
50.5M
    {
671
50.5M
        return m_has_value;
672
50.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
960k
    {
671
960k
        return m_has_value;
672
960k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
957k
    {
671
957k
        return m_has_value;
672
957k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
140k
    {
671
140k
        return m_has_value;
672
140k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
140k
    {
671
140k
        return m_has_value;
672
140k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
458k
    {
671
458k
        return m_has_value;
672
458k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
670
50.5M
    {
671
50.5M
        return m_has_value;
672
50.5M
    }
673
674
    template <typename... Args>
675
    void construct(Args&&... args) noexcept(
676
        std::is_nothrow_constructible_v<T, Args...>)
677
34.6M
    {
678
34.6M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
34.6M
        m_has_value = true;
680
34.6M
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
145k
    {
678
145k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
145k
        m_has_value = true;
680
145k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
677
942
    {
678
942
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
942
        m_has_value = true;
680
942
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
2
    {
678
2
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
2
        m_has_value = true;
680
2
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
677
16.8M
    {
678
16.8M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
16.8M
        m_has_value = true;
680
16.8M
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
311k
    {
678
311k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
311k
        m_has_value = true;
680
311k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
309k
    {
678
309k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
309k
        m_has_value = true;
680
309k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
724
    {
678
724
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
724
        m_has_value = true;
680
724
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
724
    {
678
724
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
724
        m_has_value = true;
680
724
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
677
146k
    {
678
146k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
146k
        m_has_value = true;
680
146k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
677
16.8M
    {
678
16.8M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
679
16.8M
        m_has_value = true;
680
16.8M
    }
681
    template <typename... Args>
682
    void construct_unexpected(Args&&... args) noexcept(
683
        std::is_nothrow_constructible_v<E, Args...>)
684
216k
    {
685
216k
        scn::detail::construct_at(unexpected_ptr(),
686
216k
                                  std::forward<Args>(args)...);
687
216k
        m_has_value = false;
688
216k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
17.1k
    {
685
17.1k
        scn::detail::construct_at(unexpected_ptr(),
686
17.1k
                                  std::forward<Args>(args)...);
687
17.1k
        m_has_value = false;
688
17.1k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
8.09k
    {
685
8.09k
        scn::detail::construct_at(unexpected_ptr(),
686
8.09k
                                  std::forward<Args>(args)...);
687
8.09k
        m_has_value = false;
688
8.09k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
18.0k
    {
685
18.0k
        scn::detail::construct_at(unexpected_ptr(),
686
18.0k
                                  std::forward<Args>(args)...);
687
18.0k
        m_has_value = false;
688
18.0k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
36.0k
    {
685
36.0k
        scn::detail::construct_at(unexpected_ptr(),
686
36.0k
                                  std::forward<Args>(args)...);
687
36.0k
        m_has_value = false;
688
36.0k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
8.86k
    {
685
8.86k
        scn::detail::construct_at(unexpected_ptr(),
686
8.86k
                                  std::forward<Args>(args)...);
687
8.86k
        m_has_value = false;
688
8.86k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
9.28k
    {
685
9.28k
        scn::detail::construct_at(unexpected_ptr(),
686
9.28k
                                  std::forward<Args>(args)...);
687
9.28k
        m_has_value = false;
688
9.28k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
46.0k
    {
685
46.0k
        scn::detail::construct_at(unexpected_ptr(),
686
46.0k
                                  std::forward<Args>(args)...);
687
46.0k
        m_has_value = false;
688
46.0k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
46.0k
    {
685
46.0k
        scn::detail::construct_at(unexpected_ptr(),
686
46.0k
                                  std::forward<Args>(args)...);
687
46.0k
        m_has_value = false;
688
46.0k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
9.00k
    {
685
9.00k
        scn::detail::construct_at(unexpected_ptr(),
686
9.00k
                                  std::forward<Args>(args)...);
687
9.00k
        m_has_value = false;
688
9.00k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
684
18.0k
    {
685
18.0k
        scn::detail::construct_at(unexpected_ptr(),
686
18.0k
                                  std::forward<Args>(args)...);
687
18.0k
        m_has_value = false;
688
18.0k
    }
689
690
    void destroy_value() noexcept
691
34.6M
    {
692
34.6M
        scn::detail::destroy_at(value_ptr());
693
34.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
145k
    {
692
145k
        scn::detail::destroy_at(value_ptr());
693
145k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
942
    {
692
942
        scn::detail::destroy_at(value_ptr());
693
942
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
2
    {
692
2
        scn::detail::destroy_at(value_ptr());
693
2
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
16.8M
    {
692
16.8M
        scn::detail::destroy_at(value_ptr());
693
16.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
311k
    {
692
311k
        scn::detail::destroy_at(value_ptr());
693
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
309k
    {
692
309k
        scn::detail::destroy_at(value_ptr());
693
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
724
    {
692
724
        scn::detail::destroy_at(value_ptr());
693
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
724
    {
692
724
        scn::detail::destroy_at(value_ptr());
693
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
146k
    {
692
146k
        scn::detail::destroy_at(value_ptr());
693
146k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
691
16.8M
    {
692
16.8M
        scn::detail::destroy_at(value_ptr());
693
16.8M
    }
694
    void destroy_unexpected() noexcept
695
216k
    {
696
216k
        scn::detail::destroy_at(unexpected_ptr());
697
216k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
17.1k
    {
696
17.1k
        scn::detail::destroy_at(unexpected_ptr());
697
17.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
8.09k
    {
696
8.09k
        scn::detail::destroy_at(unexpected_ptr());
697
8.09k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
18.0k
    {
696
18.0k
        scn::detail::destroy_at(unexpected_ptr());
697
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
36.0k
    {
696
36.0k
        scn::detail::destroy_at(unexpected_ptr());
697
36.0k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
8.86k
    {
696
8.86k
        scn::detail::destroy_at(unexpected_ptr());
697
8.86k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
9.28k
    {
696
9.28k
        scn::detail::destroy_at(unexpected_ptr());
697
9.28k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
46.0k
    {
696
46.0k
        scn::detail::destroy_at(unexpected_ptr());
697
46.0k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
46.0k
    {
696
46.0k
        scn::detail::destroy_at(unexpected_ptr());
697
46.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
9.00k
    {
696
9.00k
        scn::detail::destroy_at(unexpected_ptr());
697
9.00k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
695
18.0k
    {
696
18.0k
        scn::detail::destroy_at(unexpected_ptr());
697
18.0k
    }
698
699
private:
700
    T* value_ptr() noexcept
701
103M
    {
702
103M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
103M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
437k
    {
702
437k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
437k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
1.88k
    {
702
1.88k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
1.88k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
4
    {
702
4
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
4
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
50.5M
    {
702
50.5M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
50.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
934k
    {
702
934k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
934k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
929k
    {
702
929k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
929k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
2.17k
    {
702
2.17k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
2.17k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
2.17k
    {
702
2.17k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
2.17k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
440k
    {
702
440k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
440k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
701
50.5M
    {
702
50.5M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
703
50.5M
    }
704
    const T* value_ptr() const noexcept
705
    {
706
        return reinterpret_cast<const T*>(
707
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
708
    }
709
710
    SCN_GCC_PUSH
711
    SCN_GCC_IGNORE("-Wcast-align")
712
    unexpected<E>* unexpected_ptr() noexcept
713
543k
    {
714
543k
        return reinterpret_cast<unexpected<E>*>(
715
543k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
543k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
34.2k
    {
714
34.2k
        return reinterpret_cast<unexpected<E>*>(
715
34.2k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
34.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
16.1k
    {
714
16.1k
        return reinterpret_cast<unexpected<E>*>(
715
16.1k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
16.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
36.1k
    {
714
36.1k
        return reinterpret_cast<unexpected<E>*>(
715
36.1k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
36.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
72.1k
    {
714
72.1k
        return reinterpret_cast<unexpected<E>*>(
715
72.1k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
72.1k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
26.5k
    {
714
26.5k
        return reinterpret_cast<unexpected<E>*>(
715
26.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
26.5k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
27.8k
    {
714
27.8k
        return reinterpret_cast<unexpected<E>*>(
715
27.8k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
27.8k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
138k
    {
714
138k
        return reinterpret_cast<unexpected<E>*>(
715
138k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
138k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
138k
    {
714
138k
        return reinterpret_cast<unexpected<E>*>(
715
138k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
18.0k
    {
714
18.0k
        return reinterpret_cast<unexpected<E>*>(
715
18.0k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
18.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
713
36.0k
    {
714
36.0k
        return reinterpret_cast<unexpected<E>*>(
715
36.0k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
716
36.0k
    }
717
    const unexpected<E>* unexpected_ptr() const noexcept
718
    {
719
        return reinterpret_cast<const unexpected<E>*>(
720
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
721
    }
722
    SCN_GCC_POP
723
724
    static constexpr std::size_t required_size =
725
        detail::max(sizeof(T), sizeof(unexpected<E>));
726
    static constexpr std::size_t required_alignment =
727
        detail::max(alignof(T), alignof(unexpected<E>));
728
729
    alignas(required_alignment) unsigned char m_memory[required_size];
730
    bool m_has_value;
731
};
732
733
template <typename E>
734
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
735
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
736
737
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
738
        : m_has_value(false)
739
    {
740
    }
741
742
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
743
        : m_has_value(true)
744
    {
745
    }
746
747
    template <typename... Args,
748
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
749
    explicit constexpr expected_storage_base(
750
        unexpect_t,
751
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
752
        : m_has_value(false)
753
    {
754
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
755
    }
756
757
    ~expected_storage_base()
758
    {
759
        if (!has_value()) {
760
            destroy_unexpected();
761
        }
762
    }
763
764
    constexpr unexpected<E>& get_unexpected() & noexcept
765
    {
766
        return *unexpected_ptr();
767
    }
768
    constexpr const unexpected<E>& get_unexpected() const& noexcept
769
    {
770
        return *unexpected_ptr();
771
    }
772
    constexpr unexpected<E>&& get_unexpected() && noexcept
773
    {
774
        return std::move(*unexpected_ptr());
775
    }
776
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
777
    {
778
        return std::move(*unexpected_ptr());
779
    }
780
781
    SCN_NODISCARD constexpr bool has_value() const noexcept
782
    {
783
        return m_has_value;
784
    }
785
786
    template <typename... Args>
787
    constexpr void construct(Args&&...) noexcept
788
    {
789
        m_has_value = true;
790
    }
791
    template <typename... Args>
792
    void construct_unexpected(Args&&... args) noexcept(
793
        std::is_nothrow_constructible_v<E, Args...>)
794
    {
795
        scn::detail::construct_at(unexpected_ptr(),
796
                                  std::forward<Args>(args)...);
797
        m_has_value = false;
798
    }
799
800
    static constexpr void destroy_value() noexcept {}
801
    void destroy_unexpected() noexcept
802
    {
803
        scn::detail::destroy_at(unexpected_ptr());
804
    }
805
806
private:
807
    SCN_GCC_PUSH
808
    SCN_GCC_IGNORE("-Wcast-align")
809
    unexpected<E>* unexpected_ptr()
810
    {
811
        return reinterpret_cast<unexpected<E>*>(m_memory);
812
    }
813
    const unexpected<E>* unexpected_ptr() const
814
    {
815
        return reinterpret_cast<const unexpected<E>*>(m_memory);
816
    }
817
    SCN_GCC_POP
818
819
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
820
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
821
822
    alignas(required_alignment) unsigned char m_memory[required_size];
823
    bool m_has_value;
824
};
825
826
template <typename T, typename U>
827
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
828
829
template <typename T,
830
          typename E,
831
          bool IsTriviallyCopyable =
832
              std::conjunction_v<std::is_trivially_copyable<T>,
833
                                 std::is_trivially_copyable<E>>>
834
struct expected_operations_base;
835
836
template <typename T, typename E>
837
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, true>
838
    : expected_storage_base<T, E> {
839
    using expected_storage_base<T, E>::expected_storage_base;
840
};
841
842
template <typename T, typename E>
843
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, false>
844
    : expected_storage_base<T, E> {
845
    using expected_storage_base<T, E>::expected_storage_base;
846
847
    expected_operations_base(const expected_operations_base& other) noexcept(
848
        std::is_nothrow_copy_constructible_v<T> &&
849
        std::is_nothrow_copy_constructible_v<E>)
850
        : expected_storage_base<T, E>(deferred_init_tag)
851
    {
852
        construct_common(other);
853
    }
854
    expected_operations_base(expected_operations_base&& other) noexcept(
855
        std::is_nothrow_move_constructible_v<T> &&
856
        std::is_nothrow_move_constructible_v<E>)
857
        : expected_storage_base<T, E>(deferred_init_tag)
858
    {
859
        construct_common(std::move(other));
860
    }
861
862
    expected_operations_base&
863
    operator=(const expected_operations_base& other) noexcept(
864
        noexcept(assign_common(other)))
865
    {
866
        assign_common(other);
867
        return *this;
868
    }
869
    expected_operations_base&
870
    operator=(expected_operations_base&& other) noexcept(
871
        noexcept(assign_common(std::move(other))))
872
    {
873
        assign_common(std::move(other));
874
        return *this;
875
    }
876
877
    ~expected_operations_base() = default;
878
879
private:
880
    template <typename Other>
881
    void construct_common(Other&& other) noexcept(
882
        noexcept(expected_storage_base<T, E>::construct(
883
            std::forward<Other>(other).get_value())) &&
884
        noexcept(expected_storage_base<T, E>::construct_unexpected(
885
            std::forward<Other>(other).get_unexpected())))
886
    {
887
        if (other.has_value()) {
888
            this->construct(std::forward<Other>(other).get_value());
889
        }
890
        else {
891
            this->construct_unexpected(
892
                std::forward<Other>(other).get_unexpected());
893
        }
894
    }
895
896
    template <typename Other>
897
    void assign_common(Other&& other) noexcept(
898
        noexcept(reassign_value(std::forward<Other>(other))) &&
899
        noexcept(reassign_unexpected(std::forward<Other>(other))) &&
900
        noexcept(assign_value_over_unexpected(std::forward<Other>(other))) &&
901
        noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
902
    {
903
        if (this->has_value()) {
904
            if (other.has_value()) {
905
                return reassign_value(std::forward<Other>(other));
906
            }
907
            return assign_unexpected_over_value(std::forward<Other>(other));
908
        }
909
910
        if (other.has_value()) {
911
            return assign_value_over_unexpected(std::forward<Other>(other));
912
        }
913
        return reassign_unexpected(std::forward<Other>(other));
914
    }
915
916
    template <typename Other>
917
    void reassign_value(Other&& other) noexcept(
918
        std::is_nothrow_assignable_v<
919
            T,
920
            decltype(std::forward<Other>(other).get_value())>)
921
    {
922
        this->get_value() = std::forward<Other>(other).get_value();
923
    }
924
925
    template <typename Other>
926
    void reassign_unexpected(Other&& other) noexcept(
927
        std::is_nothrow_assignable_v<
928
            E,
929
            decltype(std::forward<Other>(other).get_unexpected())>)
930
    {
931
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
932
    }
933
934
#if SCN_HAS_EXCEPTIONS
935
    void assign_value_over_unexpected(
936
        const expected_operations_base&
937
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
938
                            std::is_nothrow_move_constructible_v<T>)
939
    {
940
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
941
            this->destroy_unexpected();
942
            this->construct(other.get_value());
943
        }
944
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
945
            T tmp = other.get_value();
946
            this->destroy_unexpected();
947
            this->construct(std::move(tmp));
948
        }
949
        else {
950
            auto tmp = std::move(this->get_unexpecetd());
951
            this->destroy_unexpected();
952
953
            try {
954
                this->construct(other.get());
955
            }
956
            catch (...) {
957
                this->construct_unexpected(std::move(tmp));
958
                throw;
959
            }
960
        }
961
    }
962
963
    void
964
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
965
        std::is_nothrow_move_constructible_v<T>)
966
    {
967
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
968
            this->destroy_unexpected();
969
            this->construct(std::move(other).get_value());
970
        }
971
        else {
972
            auto tmp = std::move(this->get_unexpected());
973
            this->destroy_unexpected();
974
975
            try {
976
                this->construct(std::move(other).get_value());
977
            }
978
            catch (...) {
979
                this->construct_unexpected(std::move(tmp));
980
                throw;
981
            }
982
        }
983
    }
984
#else
985
    template <typename Other>
986
    void assing_value_over_unexpected(Other&& other) noexcept
987
    {
988
        this->destroy_unexpected();
989
        this->construct_value(std::forward<Other>(other).get_value());
990
    }
991
#endif
992
993
    template <typename Other>
994
    void assign_unexpected_over_value(Other&& other) noexcept(
995
        std::is_nothrow_constructible_v<
996
            E,
997
            decltype(std::forward<Other>(other).get_unexpected())>)
998
    {
999
        this->destroy_value();
1000
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1001
    }
1002
};
1003
1004
/*
1005
 * Base class trickery to conditionally mark copy and move
1006
 * constructors of an expected as =deleted.
1007
 *
1008
 * We need to do this, because otherwise utilities like
1009
 * std::is_copy_constructible wouldn't work for expected: the
1010
 * constructors need to be explicitly =deleted, not just cause a
1011
 * compiler error when trying to copy a value of a non-copyable
1012
 * type.
1013
 *
1014
 * Rationale for doing this with base classes is above.
1015
 */
1016
template <typename T,
1017
          typename E,
1018
          bool EnableCopy = (std::is_copy_constructible_v<T> &&
1019
                             std::is_copy_constructible_v<E>),
1020
          bool EnableMove = (std::is_move_constructible_v<T> &&
1021
                             std::is_move_constructible_v<E>)>
1022
struct expected_delete_ctor_base;
1023
1024
// Implementation for types that are both copy and move
1025
// constructible: Copy and move constructors are =defaulted
1026
template <typename T, typename E>
1027
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1028
    expected_delete_ctor_base() = default;
1029
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1030
        default;
1031
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1032
    ~expected_delete_ctor_base() = default;
1033
1034
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1035
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1036
};
1037
1038
// Implementation for types that are neither copy nor move
1039
// constructible: Copy and move constructors are =deleted
1040
template <typename T, typename E>
1041
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1042
    expected_delete_ctor_base() = default;
1043
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1044
        default;
1045
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1046
    ~expected_delete_ctor_base() = default;
1047
1048
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1049
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1050
};
1051
1052
// Implementation for types that are move constructible, but not
1053
// copy constructible Copy constructor is =deleted, but move
1054
// constructor is =defaulted
1055
template <typename T, typename E>
1056
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1057
    expected_delete_ctor_base() = default;
1058
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1059
        default;
1060
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1061
    ~expected_delete_ctor_base() = default;
1062
1063
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1064
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1065
};
1066
1067
template <typename T, typename E>
1068
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1069
    static_assert(dependent_false<T>::value,
1070
                  "Nonsensical type: copy constructible, but not move "
1071
                  "constructible");
1072
};
1073
1074
// Same as above, but for assignment
1075
template <
1076
    typename T,
1077
    typename E,
1078
    bool EnableCopy =
1079
        (std::is_copy_constructible_v<T> && std::is_copy_constructible_v<E> &&
1080
         std::is_copy_assignable_v<T> && std::is_copy_assignable_v<E>),
1081
    bool EnableMove =
1082
        (std::is_move_constructible_v<T> && std::is_move_constructible_v<E> &&
1083
         std::is_move_assignable_v<T> && std::is_move_assignable_v<E>)>
1084
struct expected_delete_assign_base;
1085
1086
template <typename T, typename E>
1087
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1088
    expected_delete_assign_base() = default;
1089
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1090
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1091
    ~expected_delete_assign_base() = default;
1092
1093
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1094
        default;
1095
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1096
        default;
1097
};
1098
1099
template <typename T, typename E>
1100
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1101
    expected_delete_assign_base() = default;
1102
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1103
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1104
    ~expected_delete_assign_base() = default;
1105
1106
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1107
        delete;
1108
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1109
        delete;
1110
};
1111
1112
template <typename T, typename E>
1113
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1114
    expected_delete_assign_base() = default;
1115
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1116
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1117
    ~expected_delete_assign_base() = default;
1118
1119
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1120
        delete;
1121
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1122
        default;
1123
};
1124
1125
template <typename T, typename E>
1126
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1127
    static_assert(dependent_false<T>::value,
1128
                  "Nonsensical type: copy assignable, but not move "
1129
                  "assignable");
1130
};
1131
1132
struct non_default_ctor_tag_t {};
1133
1134
/*
1135
 * Same as above, but for the default constructor
1136
 *
1137
 * The constructor taking a non_default_ctor_tag_t is needed, to
1138
 * signal that we're not default constructing.
1139
 */
1140
template <typename T,
1141
          typename E,
1142
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1143
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1144
    constexpr expected_default_ctor_base() = default;
1145
    constexpr explicit expected_default_ctor_base(
1146
        non_default_ctor_tag_t) noexcept
1147
470M
    {
1148
470M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.77M
    {
1148
2.77M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
9.04k
    {
1148
9.04k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
432k
    {
1148
432k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
374k
    {
1148
374k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
55.6k
    {
1148
55.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
9.04k
    {
1148
9.04k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
9.04k
    {
1148
9.04k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
163k
    {
1148
163k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
9.04k
    {
1148
9.04k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
163k
    {
1148
163k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
34.3M
    {
1148
34.3M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
18.0k
    {
1148
18.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
100k
    {
1148
100k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
100k
    {
1148
100k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
18.9k
    {
1148
18.9k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
18.0k
    {
1148
18.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
18.0k
    {
1148
18.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
18.0k
    {
1148
18.0k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
16.8M
    {
1148
16.8M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
16.8M
    {
1148
16.8M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
8.76M
    {
1148
8.76M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
41.7M
    {
1148
41.7M
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
15.9M
    {
1148
15.9M
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.5M
    {
1148
82.5M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
7.78M
    {
1148
7.78M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
3.54M
    {
1148
3.54M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
10.1M
    {
1148
10.1M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.29M
    {
1148
2.29M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.16M
    {
1148
2.16M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.16M
    {
1148
2.16M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
320k
    {
1148
320k
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
5.55M
    {
1148
5.55M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
10
    {
1148
10
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
3.67M
    {
1148
3.67M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
6.00M
    {
1148
6.00M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.29M
    {
1148
2.29M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.16M
    {
1148
2.16M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.16M
    {
1148
2.16M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
319k
    {
1148
319k
    }
scn::v3::detail::expected_default_ctor_base<long, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
57.5M
    {
1148
57.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
119k
    {
1148
119k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
130k
    {
1148
130k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
14.1k
    {
1148
14.1k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
17.9M
    {
1148
17.9M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
13.7M
    {
1148
13.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
1.42M
    {
1148
1.42M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
354k
    {
1148
354k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
351k
    {
1148
351k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
351k
    {
1148
351k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
46.7k
    {
1148
46.7k
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
34.8M
    {
1148
34.8M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
27.2M
    {
1148
27.2M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
1.12M
    {
1148
1.12M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
354k
    {
1148
354k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
352k
    {
1148
352k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
352k
    {
1148
352k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
46.7k
    {
1148
46.7k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.49k
    {
1148
2.49k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.58k
    {
1148
2.58k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<wchar_t, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
337k
    {
1148
337k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
324k
    {
1148
324k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
431k
    {
1148
431k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
369k
    {
1148
369k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
2.53M
    {
1148
2.53M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
339k
    {
1148
339k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
325k
    {
1148
325k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
424k
    {
1148
424k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
367k
    {
1148
367k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
431k
    {
1148
431k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
371k
    {
1148
371k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.3k
    {
1148
82.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.2k
    {
1148
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.5k
    {
1148
82.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.4k
    {
1148
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
17.3M
    {
1148
17.3M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.3k
    {
1148
82.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.2k
    {
1148
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.4k
    {
1148
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.2k
    {
1148
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.5k
    {
1148
82.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
82.4k
    {
1148
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
155k
    {
1148
155k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
16.8M
    {
1148
16.8M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
35.2k
    {
1148
35.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
46.6k
    {
1148
46.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
32.3k
    {
1148
32.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
43.8k
    {
1148
43.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
43.8k
    {
1148
43.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
832
    {
1148
832
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
832
    {
1148
832
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
832
    {
1148
832
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
832
    {
1148
832
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1147
832
    {
1148
832
    }
1149
};
1150
template <typename T, typename E>
1151
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1152
    constexpr expected_default_ctor_base() = delete;
1153
    constexpr explicit expected_default_ctor_base(
1154
        non_default_ctor_tag_t) noexcept
1155
    {
1156
    }
1157
};
1158
1159
template <typename T>
1160
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1161
1162
template <typename T>
1163
struct is_expected_impl : std::false_type {};
1164
template <typename T, typename E>
1165
struct is_expected_impl<expected<T, E>> : std::true_type {};
1166
template <typename T>
1167
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1168
1169
template <typename Exp>
1170
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1171
1172
template <typename Exp>
1173
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1174
1175
template <
1176
    typename F,
1177
    typename... Args,
1178
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1179
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1180
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1181
776k
{
1182
776k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1183
776k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1181
71.6k
{
1182
71.6k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1183
71.6k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1181
77.3k
{
1182
77.3k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1183
77.3k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&&)
Line
Count
Source
1181
380k
{
1182
380k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1183
380k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&)
Line
Count
Source
1181
246k
{
1182
246k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1183
246k
}
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error const&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error const&)
1184
1185
// and_then
1186
1187
template <typename Exp,
1188
          typename F,
1189
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1190
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1191
                                                 *SCN_DECLVAL(Exp)))>
1192
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1193
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1194
    std::is_nothrow_constructible_v<Ret,
1195
                                    unexpect_t,
1196
                                    decltype(std::forward<Exp>(exp).error())>)
1197
{
1198
    static_assert(is_expected<Ret>::value, "F must return an expected");
1199
1200
    return SCN_LIKELY(exp.has_value())
1201
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1202
               : Ret(unexpect, std::forward<Exp>(exp).error());
1203
}
1204
template <typename Exp,
1205
          typename F,
1206
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1207
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1208
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1209
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1210
    std::is_nothrow_constructible_v<Ret,
1211
                                    unexpect_t,
1212
                                    decltype(std::forward<Exp>(exp).error())>)
1213
{
1214
    static_assert(is_expected<Ret>::value, "F must return an expected");
1215
1216
    return SCN_LIKELY(exp.has_value())
1217
               ? trivial_invoke(std::forward<F>(f))
1218
               : Ret(unexpect, std::forward<Exp>(exp).error());
1219
}
1220
1221
// or_else
1222
1223
template <typename Exp,
1224
          typename F,
1225
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1226
                                                 SCN_DECLVAL(Exp).error()))>
1227
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1228
    noexcept(trivial_invoke(std::forward<F>(f),
1229
                            std::forward<Exp>(exp).error())) &&
1230
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1231
{
1232
    static_assert(is_expected<Ret>::value, "F must return an expected");
1233
1234
    return SCN_LIKELY(exp.has_value())
1235
               ? Ret(std::forward<Exp>(exp))
1236
               : trivial_invoke(std::forward<F>(f),
1237
                                std::forward<Exp>(exp).error());
1238
}
1239
1240
// transform
1241
1242
template <typename Exp,
1243
          typename F,
1244
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1245
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1246
                                                 *SCN_DECLVAL(Exp)))>
1247
constexpr auto transform_impl(Exp&& exp, F&& f)
1248
{
1249
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1250
    if constexpr (std::is_void_v<Ret>) {
1251
        if (SCN_LIKELY(exp.has_value())) {
1252
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1253
            return result();
1254
        }
1255
        return result(unexpect, std::forward<Exp>(exp).error());
1256
    }
1257
    else {
1258
        return SCN_LIKELY(exp.has_value())
1259
                   ? result(trivial_invoke(std::forward<F>(f),
1260
                                           *std::forward<Exp>(exp)))
1261
                   : result(unexpect, std::forward<Exp>(exp).error());
1262
    }
1263
}
1264
template <typename Exp,
1265
          typename F,
1266
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1267
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1268
constexpr auto transform_impl(Exp&& exp, F&& f)
1269
{
1270
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1271
    if constexpr (std::is_void_v<Ret>) {
1272
        if (SCN_LIKELY(exp.has_value())) {
1273
            trivial_invoke(std::forward<F>(f));
1274
            return result();
1275
        }
1276
        return result(unexpect, std::forward<Exp>(exp).error());
1277
    }
1278
    else {
1279
        return SCN_LIKELY(exp.has_value())
1280
                   ? result(trivial_invoke(std::forward<F>(f)))
1281
                   : result(unexpect, std::forward<Exp>(exp).error());
1282
    }
1283
}
1284
1285
// transform_error
1286
1287
template <typename Exp,
1288
          typename F,
1289
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1290
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1291
                                                 SCN_DECLVAL(Exp).error()))>
1292
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1293
66.6M
{
1294
66.6M
    if constexpr (std::is_void_v<Ret>) {
1295
66.6M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
66.6M
        if (SCN_LIKELY(exp.has_value())) {
1297
66.6M
            return result(*std::forward<Exp>(exp));
1298
66.6M
        }
1299
1300
66.6M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
66.6M
        return result(unexpect, monostate{});
1302
66.6M
    }
1303
66.6M
    else {
1304
66.6M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
66.6M
        return SCN_LIKELY(exp.has_value())
1306
66.6M
                   ? result(*std::forward<Exp>(exp))
1307
66.6M
                   : result(unexpect,
1308
776k
                            trivial_invoke(std::forward<F>(f),
1309
776k
                                           std::forward<Exp>(exp).error()));
1310
66.6M
    }
1311
66.6M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
2.45M
{
1294
2.45M
    if constexpr (std::is_void_v<Ret>) {
1295
2.45M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
2.45M
        if (SCN_LIKELY(exp.has_value())) {
1297
2.45M
            return result(*std::forward<Exp>(exp));
1298
2.45M
        }
1299
1300
2.45M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
2.45M
        return result(unexpect, monostate{});
1302
2.45M
    }
1303
2.45M
    else {
1304
2.45M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
2.45M
        return SCN_LIKELY(exp.has_value())
1306
2.45M
                   ? result(*std::forward<Exp>(exp))
1307
2.45M
                   : result(unexpect,
1308
27.2k
                            trivial_invoke(std::forward<F>(f),
1309
27.2k
                                           std::forward<Exp>(exp).error()));
1310
2.45M
    }
1311
2.45M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
17.2M
{
1294
17.2M
    if constexpr (std::is_void_v<Ret>) {
1295
17.2M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
17.2M
        if (SCN_LIKELY(exp.has_value())) {
1297
17.2M
            return result(*std::forward<Exp>(exp));
1298
17.2M
        }
1299
1300
17.2M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
17.2M
        return result(unexpect, monostate{});
1302
17.2M
    }
1303
17.2M
    else {
1304
17.2M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
17.2M
        return SCN_LIKELY(exp.has_value())
1306
17.2M
                   ? result(*std::forward<Exp>(exp))
1307
17.2M
                   : result(unexpect,
1308
6.30k
                            trivial_invoke(std::forward<F>(f),
1309
6.30k
                                           std::forward<Exp>(exp).error()));
1310
17.2M
    }
1311
17.2M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
2.62M
{
1294
2.62M
    if constexpr (std::is_void_v<Ret>) {
1295
2.62M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
2.62M
        if (SCN_LIKELY(exp.has_value())) {
1297
2.62M
            return result(*std::forward<Exp>(exp));
1298
2.62M
        }
1299
1300
2.62M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
2.62M
        return result(unexpect, monostate{});
1302
2.62M
    }
1303
2.62M
    else {
1304
2.62M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
2.62M
        return SCN_LIKELY(exp.has_value())
1306
2.62M
                   ? result(*std::forward<Exp>(exp))
1307
2.62M
                   : result(unexpect,
1308
27.9k
                            trivial_invoke(std::forward<F>(f),
1309
27.9k
                                           std::forward<Exp>(exp).error()));
1310
2.62M
    }
1311
2.62M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
2.21M
{
1294
2.21M
    if constexpr (std::is_void_v<Ret>) {
1295
2.21M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
2.21M
        if (SCN_LIKELY(exp.has_value())) {
1297
2.21M
            return result(*std::forward<Exp>(exp));
1298
2.21M
        }
1299
1300
2.21M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
2.21M
        return result(unexpect, monostate{});
1302
2.21M
    }
1303
2.21M
    else {
1304
2.21M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
2.21M
        return SCN_LIKELY(exp.has_value())
1306
2.21M
                   ? result(*std::forward<Exp>(exp))
1307
2.21M
                   : result(unexpect,
1308
20.9k
                            trivial_invoke(std::forward<F>(f),
1309
20.9k
                                           std::forward<Exp>(exp).error()));
1310
2.21M
    }
1311
2.21M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
2.16M
{
1294
2.16M
    if constexpr (std::is_void_v<Ret>) {
1295
2.16M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
2.16M
        if (SCN_LIKELY(exp.has_value())) {
1297
2.16M
            return result(*std::forward<Exp>(exp));
1298
2.16M
        }
1299
1300
2.16M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
2.16M
        return result(unexpect, monostate{});
1302
2.16M
    }
1303
2.16M
    else {
1304
2.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
2.16M
        return SCN_LIKELY(exp.has_value())
1306
2.16M
                   ? result(*std::forward<Exp>(exp))
1307
2.16M
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
2.16M
    }
1311
2.16M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1293
1.64M
{
1294
1.64M
    if constexpr (std::is_void_v<Ret>) {
1295
1.64M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
1.64M
        if (SCN_LIKELY(exp.has_value())) {
1297
1.64M
            return result(*std::forward<Exp>(exp));
1298
1.64M
        }
1299
1300
1.64M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
1.64M
        return result(unexpect, monostate{});
1302
1.64M
    }
1303
1.64M
    else {
1304
1.64M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
1.64M
        return SCN_LIKELY(exp.has_value())
1306
1.64M
                   ? result(*std::forward<Exp>(exp))
1307
1.64M
                   : result(unexpect,
1308
80.7k
                            trivial_invoke(std::forward<F>(f),
1309
80.7k
                                           std::forward<Exp>(exp).error()));
1310
1.64M
    }
1311
1.64M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
2.16M
{
1294
2.16M
    if constexpr (std::is_void_v<Ret>) {
1295
2.16M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
2.16M
        if (SCN_LIKELY(exp.has_value())) {
1297
2.16M
            return result(*std::forward<Exp>(exp));
1298
2.16M
        }
1299
1300
2.16M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
2.16M
        return result(unexpect, monostate{});
1302
2.16M
    }
1303
2.16M
    else {
1304
2.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
2.16M
        return SCN_LIKELY(exp.has_value())
1306
2.16M
                   ? result(*std::forward<Exp>(exp))
1307
2.16M
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
2.16M
    }
1311
2.16M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
119k
{
1294
119k
    if constexpr (std::is_void_v<Ret>) {
1295
119k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
119k
        if (SCN_LIKELY(exp.has_value())) {
1297
119k
            return result(*std::forward<Exp>(exp));
1298
119k
        }
1299
1300
119k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
119k
        return result(unexpect, monostate{});
1302
119k
    }
1303
119k
    else {
1304
119k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
119k
        return SCN_LIKELY(exp.has_value())
1306
119k
                   ? result(*std::forward<Exp>(exp))
1307
119k
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
119k
    }
1311
119k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1293
114k
{
1294
114k
    if constexpr (std::is_void_v<Ret>) {
1295
114k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
114k
        if (SCN_LIKELY(exp.has_value())) {
1297
114k
            return result(*std::forward<Exp>(exp));
1298
114k
        }
1299
1300
114k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
114k
        return result(unexpect, monostate{});
1302
114k
    }
1303
114k
    else {
1304
114k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
114k
        return SCN_LIKELY(exp.has_value())
1306
114k
                   ? result(*std::forward<Exp>(exp))
1307
114k
                   : result(unexpect,
1308
114k
                            trivial_invoke(std::forward<F>(f),
1309
114k
                                           std::forward<Exp>(exp).error()));
1310
114k
    }
1311
114k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
130k
{
1294
130k
    if constexpr (std::is_void_v<Ret>) {
1295
130k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
130k
        if (SCN_LIKELY(exp.has_value())) {
1297
130k
            return result(*std::forward<Exp>(exp));
1298
130k
        }
1299
1300
130k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
130k
        return result(unexpect, monostate{});
1302
130k
    }
1303
130k
    else {
1304
130k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
130k
        return SCN_LIKELY(exp.has_value())
1306
130k
                   ? result(*std::forward<Exp>(exp))
1307
130k
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
130k
    }
1311
130k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1293
123k
{
1294
123k
    if constexpr (std::is_void_v<Ret>) {
1295
123k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
123k
        if (SCN_LIKELY(exp.has_value())) {
1297
123k
            return result(*std::forward<Exp>(exp));
1298
123k
        }
1299
1300
123k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
123k
        return result(unexpect, monostate{});
1302
123k
    }
1303
123k
    else {
1304
123k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
123k
        return SCN_LIKELY(exp.has_value())
1306
123k
                   ? result(*std::forward<Exp>(exp))
1307
123k
                   : result(unexpect,
1308
123k
                            trivial_invoke(std::forward<F>(f),
1309
123k
                                           std::forward<Exp>(exp).error()));
1310
123k
    }
1311
123k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
287k
{
1294
287k
    if constexpr (std::is_void_v<Ret>) {
1295
287k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
287k
        if (SCN_LIKELY(exp.has_value())) {
1297
287k
            return result(*std::forward<Exp>(exp));
1298
287k
        }
1299
1300
287k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
287k
        return result(unexpect, monostate{});
1302
287k
    }
1303
287k
    else {
1304
287k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
287k
        return SCN_LIKELY(exp.has_value())
1306
287k
                   ? result(*std::forward<Exp>(exp))
1307
287k
                   : result(unexpect,
1308
28.0k
                            trivial_invoke(std::forward<F>(f),
1309
28.0k
                                           std::forward<Exp>(exp).error()));
1310
287k
    }
1311
287k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
351k
{
1294
351k
    if constexpr (std::is_void_v<Ret>) {
1295
351k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
351k
        if (SCN_LIKELY(exp.has_value())) {
1297
351k
            return result(*std::forward<Exp>(exp));
1298
351k
        }
1299
1300
351k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
351k
        return result(unexpect, monostate{});
1302
351k
    }
1303
351k
    else {
1304
351k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
351k
        return SCN_LIKELY(exp.has_value())
1306
351k
                   ? result(*std::forward<Exp>(exp))
1307
351k
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
351k
    }
1311
351k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1293
303k
{
1294
303k
    if constexpr (std::is_void_v<Ret>) {
1295
303k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
303k
        if (SCN_LIKELY(exp.has_value())) {
1297
303k
            return result(*std::forward<Exp>(exp));
1298
303k
        }
1299
1300
303k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
303k
        return result(unexpect, monostate{});
1302
303k
    }
1303
303k
    else {
1304
303k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
303k
        return SCN_LIKELY(exp.has_value())
1306
303k
                   ? result(*std::forward<Exp>(exp))
1307
303k
                   : result(unexpect,
1308
300k
                            trivial_invoke(std::forward<F>(f),
1309
300k
                                           std::forward<Exp>(exp).error()));
1310
303k
    }
1311
303k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
34.0M
{
1294
34.0M
    if constexpr (std::is_void_v<Ret>) {
1295
34.0M
        using result = expected<expected_value_type<Exp>, monostate>;
1296
34.0M
        if (SCN_LIKELY(exp.has_value())) {
1297
34.0M
            return result(*std::forward<Exp>(exp));
1298
34.0M
        }
1299
1300
34.0M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
34.0M
        return result(unexpect, monostate{});
1302
34.0M
    }
1303
34.0M
    else {
1304
34.0M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
34.0M
        return SCN_LIKELY(exp.has_value())
1306
34.0M
                   ? result(*std::forward<Exp>(exp))
1307
34.0M
                   : result(unexpect,
1308
10.1k
                            trivial_invoke(std::forward<F>(f),
1309
10.1k
                                           std::forward<Exp>(exp).error()));
1310
34.0M
    }
1311
34.0M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
288k
{
1294
288k
    if constexpr (std::is_void_v<Ret>) {
1295
288k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
288k
        if (SCN_LIKELY(exp.has_value())) {
1297
288k
            return result(*std::forward<Exp>(exp));
1298
288k
        }
1299
1300
288k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
288k
        return result(unexpect, monostate{});
1302
288k
    }
1303
288k
    else {
1304
288k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
288k
        return SCN_LIKELY(exp.has_value())
1306
288k
                   ? result(*std::forward<Exp>(exp))
1307
288k
                   : result(unexpect,
1308
28.1k
                            trivial_invoke(std::forward<F>(f),
1309
28.1k
                                           std::forward<Exp>(exp).error()));
1310
288k
    }
1311
288k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
352k
{
1294
352k
    if constexpr (std::is_void_v<Ret>) {
1295
352k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
352k
        if (SCN_LIKELY(exp.has_value())) {
1297
352k
            return result(*std::forward<Exp>(exp));
1298
352k
        }
1299
1300
352k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
352k
        return result(unexpect, monostate{});
1302
352k
    }
1303
352k
    else {
1304
352k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
352k
        return SCN_LIKELY(exp.has_value())
1306
352k
                   ? result(*std::forward<Exp>(exp))
1307
352k
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
352k
    }
1311
352k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
2.49k
{
1294
2.49k
    if constexpr (std::is_void_v<Ret>) {
1295
2.49k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
2.49k
        if (SCN_LIKELY(exp.has_value())) {
1297
2.49k
            return result(*std::forward<Exp>(exp));
1298
2.49k
        }
1299
1300
2.49k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
2.49k
        return result(unexpect, monostate{});
1302
2.49k
    }
1303
2.49k
    else {
1304
2.49k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
2.49k
        return SCN_LIKELY(exp.has_value())
1306
2.49k
                   ? result(*std::forward<Exp>(exp))
1307
2.49k
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
2.49k
    }
1311
2.49k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1293
4.99k
{
1294
4.99k
    if constexpr (std::is_void_v<Ret>) {
1295
4.99k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
4.99k
        if (SCN_LIKELY(exp.has_value())) {
1297
4.99k
            return result(*std::forward<Exp>(exp));
1298
4.99k
        }
1299
1300
4.99k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
4.99k
        return result(unexpect, monostate{});
1302
4.99k
    }
1303
4.99k
    else {
1304
4.99k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
4.99k
        return SCN_LIKELY(exp.has_value())
1306
4.99k
                   ? result(*std::forward<Exp>(exp))
1307
4.99k
                   : result(unexpect,
1308
4.99k
                            trivial_invoke(std::forward<F>(f),
1309
4.99k
                                           std::forward<Exp>(exp).error()));
1310
4.99k
    }
1311
4.99k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
2.58k
{
1294
2.58k
    if constexpr (std::is_void_v<Ret>) {
1295
2.58k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
2.58k
        if (SCN_LIKELY(exp.has_value())) {
1297
2.58k
            return result(*std::forward<Exp>(exp));
1298
2.58k
        }
1299
1300
2.58k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
2.58k
        return result(unexpect, monostate{});
1302
2.58k
    }
1303
2.58k
    else {
1304
2.58k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
2.58k
        return SCN_LIKELY(exp.has_value())
1306
2.58k
                   ? result(*std::forward<Exp>(exp))
1307
2.58k
                   : result(unexpect,
1308
0
                            trivial_invoke(std::forward<F>(f),
1309
0
                                           std::forward<Exp>(exp).error()));
1310
2.58k
    }
1311
2.58k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1293
3.73k
{
1294
3.73k
    if constexpr (std::is_void_v<Ret>) {
1295
3.73k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
3.73k
        if (SCN_LIKELY(exp.has_value())) {
1297
3.73k
            return result(*std::forward<Exp>(exp));
1298
3.73k
        }
1299
1300
3.73k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
3.73k
        return result(unexpect, monostate{});
1302
3.73k
    }
1303
3.73k
    else {
1304
3.73k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
3.73k
        return SCN_LIKELY(exp.has_value())
1306
3.73k
                   ? result(*std::forward<Exp>(exp))
1307
3.73k
                   : result(unexpect,
1308
3.73k
                            trivial_invoke(std::forward<F>(f),
1309
3.73k
                                           std::forward<Exp>(exp).error()));
1310
3.73k
    }
1311
3.73k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1293
3.30k
{
1294
3.30k
    if constexpr (std::is_void_v<Ret>) {
1295
3.30k
        using result = expected<expected_value_type<Exp>, monostate>;
1296
3.30k
        if (SCN_LIKELY(exp.has_value())) {
1297
3.30k
            return result(*std::forward<Exp>(exp));
1298
3.30k
        }
1299
1300
3.30k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1301
3.30k
        return result(unexpect, monostate{});
1302
3.30k
    }
1303
3.30k
    else {
1304
3.30k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1305
3.30k
        return SCN_LIKELY(exp.has_value())
1306
3.30k
                   ? result(*std::forward<Exp>(exp))
1307
3.30k
                   : result(unexpect,
1308
168
                            trivial_invoke(std::forward<F>(f),
1309
168
                                           std::forward<Exp>(exp).error()));
1310
3.30k
    }
1311
3.30k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
1312
template <typename Exp,
1313
          typename F,
1314
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1315
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1316
                                                 SCN_DECLVAL(Exp).error()))>
1317
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1318
{
1319
    if constexpr (std::is_void_v<Ret>) {
1320
        using result = expected<expected_value_type<Exp>, monostate>;
1321
        if (SCN_LIKELY(exp.has_value())) {
1322
            return result();
1323
        }
1324
1325
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1326
        return result(unexpect, monostate{});
1327
    }
1328
    else {
1329
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1330
        return SCN_LIKELY(exp.has_value())
1331
                   ? result()
1332
                   : result(unexpect,
1333
                            trivial_invoke(std::forward<F>(f),
1334
                                           std::forward<Exp>(exp).error()));
1335
    }
1336
}
1337
1338
template <class T, class E, class U, class G, class UR, class GR>
1339
using enable_from_other =
1340
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1341
                     std::is_constructible_v<E, GR> &&
1342
                     !std::is_constructible_v<T, expected<U, G>&> &&
1343
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1344
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1345
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1346
                     !std::is_convertible_v<expected<U, G>&, T> &&
1347
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1348
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1349
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1350
}  // namespace detail
1351
1352
template <typename T, typename E>
1353
class SCN_TRIVIAL_ABI expected
1354
    : private detail::expected_operations_base<T, E>,
1355
      private detail::expected_delete_ctor_base<T, E>,
1356
      private detail::expected_delete_assign_base<T, E>,
1357
      private detail::expected_default_ctor_base<T, E> {
1358
    using base = detail::expected_operations_base<T, E>;
1359
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1360
1361
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1362
                  "T must be void or Destructible");
1363
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1364
1365
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1366
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1367
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1368
1369
public:
1370
    using value_type = T;
1371
    using error_type = E;
1372
    using unexpected_type = unexpected<E>;
1373
1374
    template <typename U>
1375
    using rebind = expected<U, error_type>;
1376
1377
    // Special member functions are defaulted, implementations provided
1378
    // by base classes
1379
1380
    constexpr expected() = default;
1381
1382
    constexpr expected(const expected&) = default;
1383
    constexpr expected(expected&&) = default;
1384
    constexpr expected& operator=(const expected&) = default;
1385
    constexpr expected& operator=(expected&&) = default;
1386
1387
    ~expected() = default;
1388
1389
    /**
1390
     * Construct an expected value.
1391
     * Intentionally non-explicit, to make constructing an expected
1392
     * value as transparent as possible.
1393
     */
1394
    template <typename U = value_type,
1395
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1396
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1397
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1398
        : base(std::in_place, std::forward<U>(val)),
1399
          ctor_base(detail::non_default_ctor_tag_t{})
1400
448M
    {
1401
448M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1400
2.42M
    {
1401
2.42M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
1400
180
    {
1401
180
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
1400
382k
    {
1401
382k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
1400
324k
    {
1401
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
1400
46.2k
    {
1401
46.2k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1400
145k
    {
1401
145k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1400
942
    {
1401
942
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
1400
145k
    {
1401
145k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1400
33.6M
    {
1401
33.6M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
1400
2
    {
1401
2
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
1400
711
    {
1401
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
1400
564
    {
1401
564
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1400
2
    {
1401
2
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1400
16.8M
    {
1401
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
1400
16.8M
    {
1401
16.8M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1400
6.51M
    {
1401
6.51M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1400
34.0M
    {
1401
34.0M
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1400
13.3M
    {
1401
13.3M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1400
68.0M
    {
1401
68.0M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1400
7.73M
    {
1401
7.73M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
1400
3.52M
    {
1401
3.52M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1400
812k
    {
1401
812k
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
2.29M
    {
1401
2.29M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1400
3.94M
    {
1401
3.94M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1400
2.16M
    {
1401
2.16M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1400
2.16M
    {
1401
2.16M
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1400
311k
    {
1401
311k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1400
1.71M
    {
1401
1.71M
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1400
5.52M
    {
1401
5.52M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1400
10
    {
1401
10
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1400
3.65M
    {
1401
3.65M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1400
765k
    {
1401
765k
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
2.29M
    {
1401
2.29M
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1400
73.4k
    {
1401
73.4k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1400
2.16M
    {
1401
2.16M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1400
2.16M
    {
1401
2.16M
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1400
309k
    {
1401
309k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1400
1.76M
    {
1401
1.76M
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1400
55.7M
    {
1401
55.7M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
119k
    {
1401
119k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
130k
    {
1401
130k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<std::__1::regex_constants::syntax_option_type, void>(std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
1400
14.1k
    {
1401
14.1k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
1400
754
    {
1401
754
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const* const&, void>(char const* const&)
Line
Count
Source
1400
5.28k
    {
1401
5.28k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1400
17.9M
    {
1401
17.9M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
1400
13.7M
    {
1401
13.7M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1400
2.98k
    {
1401
2.98k
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
354k
    {
1401
354k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1400
263k
    {
1401
263k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1400
351k
    {
1401
351k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1400
351k
    {
1401
351k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1400
724
    {
1401
724
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1400
6.74M
    {
1401
6.74M
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1400
34.7M
    {
1401
34.7M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1400
27.2M
    {
1401
27.2M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1400
2.98k
    {
1401
2.98k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
354k
    {
1401
354k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1400
260k
    {
1401
260k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1400
352k
    {
1401
352k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1400
352k
    {
1401
352k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1400
724
    {
1401
724
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1400
13.4M
    {
1401
13.4M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
2.49k
    {
1401
2.49k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1400
2.58k
    {
1401
2.58k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
1400
30
    {
1401
30
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Line
Count
Source
1400
60
    {
1401
60
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<int, void>(int&&)
Line
Count
Source
1400
13.1k
    {
1401
13.1k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::expected<wchar_t, void>(wchar_t&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
1400
296k
    {
1401
296k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
1400
283k
    {
1401
283k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
1400
390k
    {
1401
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
1400
328k
    {
1401
328k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1400
2.28M
    {
1401
2.28M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
1400
298k
    {
1401
298k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
1400
285k
    {
1401
285k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
1400
383k
    {
1401
383k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
1400
326k
    {
1401
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
1400
390k
    {
1401
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
1400
330k
    {
1401
330k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
1400
595
    {
1401
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
1400
500
    {
1401
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
1400
864
    {
1401
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
1400
694
    {
1401
694
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1400
16.8M
    {
1401
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
1400
595
    {
1401
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
1400
500
    {
1401
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
1400
711
    {
1401
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
1400
564
    {
1401
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
1400
864
    {
1401
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
1400
694
    {
1401
694
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1400
146k
    {
1401
146k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1400
16.8M
    {
1401
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
1400
34.7k
    {
1401
34.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
1400
46.2k
    {
1401
46.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
1400
31.9k
    {
1401
31.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
1400
43.4k
    {
1401
43.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
1400
43.4k
    {
1401
43.4k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
1402
1403
    /// Construct an expected value directly in-place
1404
    template <typename... Args,
1405
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1406
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1407
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1408
        : base(std::in_place, std::forward<Args>(args)...),
1409
          ctor_base(detail::non_default_ctor_tag_t{})
1410
    {
1411
    }
1412
1413
    template <typename G = E,
1414
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1415
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1416
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1417
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1418
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1419
    {
1420
    }
1421
    template <typename G = E,
1422
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1423
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1424
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1425
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1426
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1427
    {
1428
    }
1429
1430
    template <typename G = E,
1431
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1432
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1433
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1434
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1435
        : base(unexpect, std::move(e.error())),
1436
          ctor_base(detail::non_default_ctor_tag_t{})
1437
    {
1438
    }
1439
    template <typename G = E,
1440
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1441
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1442
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1443
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1444
        : base(unexpect, std::move(e.error())),
1445
          ctor_base(detail::non_default_ctor_tag_t{})
1446
20.7M
    {
1447
20.7M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
342k
    {
1447
342k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
8.86k
    {
1447
8.86k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
49.9k
    {
1447
49.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
49.9k
    {
1447
49.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
9.45k
    {
1447
9.45k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
9.04k
    {
1447
9.04k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
9.04k
    {
1447
9.04k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
17.1k
    {
1447
17.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
8.09k
    {
1447
8.09k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
17.1k
    {
1447
17.1k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
691k
    {
1447
691k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
18.0k
    {
1447
18.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
99.8k
    {
1447
99.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
99.8k
    {
1447
99.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
18.9k
    {
1447
18.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
18.0k
    {
1447
18.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
18.0k
    {
1447
18.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
18.0k
    {
1447
18.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
36.0k
    {
1447
36.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
36.0k
    {
1447
36.0k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
628k
    {
1447
628k
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
976k
    {
1447
976k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
308k
    {
1447
308k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1446
48.9k
    {
1447
48.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
20.9k
    {
1447
20.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1446
140k
    {
1447
140k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1446
5.21M
    {
1447
5.21M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
8.86k
    {
1447
8.86k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1446
28.6k
    {
1447
28.6k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
19.9k
    {
1447
19.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1446
151k
    {
1447
151k
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1446
5.01M
    {
1447
5.01M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
9.28k
    {
1447
9.28k
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
1.80M
    {
1447
1.80M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
654k
    {
1447
654k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1446
34.5k
    {
1447
34.5k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
3.48k
    {
1447
3.48k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1446
30.7k
    {
1447
30.7k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1446
1.10M
    {
1447
1.10M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
46.0k
    {
1447
46.0k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1446
38.4k
    {
1447
38.4k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
5.02k
    {
1447
5.02k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1446
30.8k
    {
1447
30.8k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1446
800k
    {
1447
800k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
46.0k
    {
1447
46.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
255k
    {
1447
255k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
40.8k
    {
1447
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
510k
    {
1447
510k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
81.7k
    {
1447
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
9.00k
    {
1447
9.00k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
18.0k
    {
1447
18.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
416
    {
1447
416
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
416
    {
1447
416
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
416
    {
1447
416
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
416
    {
1447
416
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
416
    {
1447
416
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
832
    {
1447
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
832
    {
1447
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
832
    {
1447
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
832
    {
1447
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1446
832
    {
1447
832
    }
1448
1449
    /// Construct an unexpected value directly in-place
1450
    template <typename... Args,
1451
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1452
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1453
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1454
        : base(unexpect, std::forward<Args>(args)...),
1455
          ctor_base(detail::non_default_ctor_tag_t{})
1456
776k
    {
1457
776k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1456
222k
    {
1457
222k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1456
311k
    {
1457
311k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1456
151k
    {
1457
151k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1456
20.9k
    {
1457
20.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1456
28.0k
    {
1457
28.0k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1456
13.9k
    {
1457
13.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1456
28.1k
    {
1457
28.1k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1456
168
    {
1457
168
    }
1458
1459
    template <
1460
        typename U,
1461
        typename G,
1462
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1463
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1464
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1465
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1466
        std::is_nothrow_constructible_v<T, const U&> &&
1467
        std::is_nothrow_constructible_v<E, const G&>)
1468
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1469
    {
1470
        if (other.has_value()) {
1471
            this->construct(*other);
1472
        }
1473
        else {
1474
            this->construct_unexpected(other.error());
1475
        }
1476
    }
1477
    template <
1478
        typename U,
1479
        typename G,
1480
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1481
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1482
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1483
    constexpr expected(const expected<U, G>& other) noexcept(
1484
        std::is_nothrow_constructible_v<T, const U&> &&
1485
        std::is_nothrow_constructible_v<E, const G&>)
1486
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1487
    {
1488
        if (other.has_value()) {
1489
            this->construct(*other);
1490
        }
1491
        else {
1492
            this->construct_unexpected(other.error());
1493
        }
1494
    }
1495
1496
    template <typename U,
1497
              typename G,
1498
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1499
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1500
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1501
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1502
        std::is_nothrow_constructible_v<T, U&&> &&
1503
        std::is_nothrow_constructible_v<E, G&&>)
1504
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1505
    {
1506
        if (other.has_value()) {
1507
            this->construct(std::move(*other));
1508
        }
1509
        else {
1510
            this->construct_unexpected(std::move(other.error()));
1511
        }
1512
    }
1513
    template <typename U,
1514
              typename G,
1515
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1516
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1517
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1518
    constexpr expected(expected<U, G>&& other) noexcept(
1519
        std::is_nothrow_constructible_v<T, U&&> &&
1520
        std::is_nothrow_constructible_v<E, G&&>)
1521
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1522
    {
1523
        if (other.has_value()) {
1524
            this->construct(std::move(*other));
1525
        }
1526
        else {
1527
            this->construct_unexpected(std::move(other.error()));
1528
        }
1529
    }
1530
1531
    template <typename U = value_type,
1532
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1533
    expected& operator=(U&& val) noexcept(
1534
        noexcept(assign_value(std::forward<U>(val))))
1535
    {
1536
        assign_value(std::forward<U>(val));
1537
        return *this;
1538
    }
1539
1540
    expected& operator=(const unexpected_type& unex) noexcept(
1541
        noexcept(assign_unexpected(unex)))
1542
    {
1543
        assign_unexpected(unex);
1544
        return *this;
1545
    }
1546
    expected& operator=(unexpected_type&& unex) noexcept(
1547
        noexcept(assign_unexpected(std::move(unex))))
1548
    {
1549
        assign_unexpected(std::move(unex));
1550
        return *this;
1551
    }
1552
1553
    /// Destroys the contained value, and then initializes the expected
1554
    /// value directly in-place.
1555
    template <typename... Args,
1556
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1557
    decltype(auto) emplace(Args&&... args) noexcept(
1558
        std::is_nothrow_constructible_v<T, Args...>)
1559
    {
1560
        emplace_impl(std::forward<Args>(args)...);
1561
        if constexpr (!std::is_void_v<T>) {
1562
            return this->get_value();
1563
        }
1564
    }
1565
1566
    using base::has_value;
1567
    constexpr explicit operator bool() const noexcept
1568
423M
    {
1569
423M
        return has_value();
1570
423M
    }
scn::v3::expected<long, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
77.4M
    {
1569
77.4M
        return has_value();
1570
77.4M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
2.77M
    {
1569
2.77M
        return has_value();
1570
2.77M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
34.3M
    {
1569
34.3M
        return has_value();
1570
34.3M
    }
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
14.1k
    {
1569
14.1k
        return has_value();
1570
14.1k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::operator bool() const
scn::v3::expected<char const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
16.0M
    {
1569
16.0M
        return has_value();
1570
16.0M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.5M
    {
1569
82.5M
        return has_value();
1570
82.5M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
3.10M
    {
1569
3.10M
        return has_value();
1570
3.10M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
3.54M
    {
1569
3.54M
        return has_value();
1570
3.54M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1568
8.60M
    {
1569
8.60M
        return has_value();
1570
8.60M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
2.17M
    {
1569
2.17M
        return has_value();
1570
2.17M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
2.16M
    {
1569
2.16M
        return has_value();
1570
2.16M
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
320k
    {
1569
320k
        return has_value();
1570
320k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
8.88M
    {
1569
8.88M
        return has_value();
1570
8.88M
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
2.92M
    {
1569
2.92M
        return has_value();
1570
2.92M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
10
    {
1569
10
        return has_value();
1570
10
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
3.67M
    {
1569
3.67M
        return has_value();
1570
3.67M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1568
6.13M
    {
1569
6.13M
        return has_value();
1570
6.13M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
2.16M
    {
1569
2.16M
        return has_value();
1570
2.16M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
2.16M
    {
1569
2.16M
        return has_value();
1570
2.16M
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
319k
    {
1569
319k
        return has_value();
1570
319k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
119k
    {
1569
119k
        return has_value();
1570
119k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
130k
    {
1569
130k
        return has_value();
1570
130k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
448k
    {
1569
448k
        return has_value();
1570
448k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
13.7M
    {
1569
13.7M
        return has_value();
1570
13.7M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1568
1.12M
    {
1569
1.12M
        return has_value();
1570
1.12M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
351k
    {
1569
351k
        return has_value();
1570
351k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
351k
    {
1569
351k
        return has_value();
1570
351k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
46.7k
    {
1569
46.7k
        return has_value();
1570
46.7k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
41.7M
    {
1569
41.7M
        return has_value();
1570
41.7M
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
448k
    {
1569
448k
        return has_value();
1570
448k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator bool() const
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
27.2M
    {
1569
27.2M
        return has_value();
1570
27.2M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1568
1.12M
    {
1569
1.12M
        return has_value();
1570
1.12M
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1568
352k
    {
1569
352k
        return has_value();
1570
352k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
352k
    {
1569
352k
        return has_value();
1570
352k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
46.7k
    {
1569
46.7k
        return has_value();
1570
46.7k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
2.49k
    {
1569
2.49k
        return has_value();
1570
2.49k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
2.58k
    {
1569
2.58k
        return has_value();
1570
2.58k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
337k
    {
1569
337k
        return has_value();
1570
337k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
324k
    {
1569
324k
        return has_value();
1570
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
423k
    {
1569
423k
        return has_value();
1570
423k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
365k
    {
1569
365k
        return has_value();
1570
365k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
431k
    {
1569
431k
        return has_value();
1570
431k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
369k
    {
1569
369k
        return has_value();
1570
369k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
2.53M
    {
1569
2.53M
        return has_value();
1570
2.53M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
339k
    {
1569
339k
        return has_value();
1570
339k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
325k
    {
1569
325k
        return has_value();
1570
325k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
424k
    {
1569
424k
        return has_value();
1570
424k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
367k
    {
1569
367k
        return has_value();
1570
367k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
431k
    {
1569
431k
        return has_value();
1570
431k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
371k
    {
1569
371k
        return has_value();
1570
371k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.3k
    {
1569
82.3k
        return has_value();
1570
82.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.2k
    {
1569
82.2k
        return has_value();
1570
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.4k
    {
1569
82.4k
        return has_value();
1570
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.2k
    {
1569
82.2k
        return has_value();
1570
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.5k
    {
1569
82.5k
        return has_value();
1570
82.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.4k
    {
1569
82.4k
        return has_value();
1570
82.4k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
17.3M
    {
1569
17.3M
        return has_value();
1570
17.3M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.3k
    {
1569
82.3k
        return has_value();
1570
82.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.2k
    {
1569
82.2k
        return has_value();
1570
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.4k
    {
1569
82.4k
        return has_value();
1570
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.2k
    {
1569
82.2k
        return has_value();
1570
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.5k
    {
1569
82.5k
        return has_value();
1570
82.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
82.4k
    {
1569
82.4k
        return has_value();
1570
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
154k
    {
1569
154k
        return has_value();
1570
154k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
154k
    {
1569
154k
        return has_value();
1570
154k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
155k
    {
1569
155k
        return has_value();
1570
155k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
16.8M
    {
1569
16.8M
        return has_value();
1570
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
16.8M
    {
1569
16.8M
        return has_value();
1570
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
16.8M
    {
1569
16.8M
        return has_value();
1570
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
35.2k
    {
1569
35.2k
        return has_value();
1570
35.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
46.6k
    {
1569
46.6k
        return has_value();
1570
46.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
46.6k
    {
1569
46.6k
        return has_value();
1570
46.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
32.3k
    {
1569
32.3k
        return has_value();
1570
32.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
43.8k
    {
1569
43.8k
        return has_value();
1570
43.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
43.8k
    {
1569
43.8k
        return has_value();
1570
43.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
832
    {
1569
832
        return has_value();
1570
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
832
    {
1569
832
        return has_value();
1570
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
832
    {
1569
832
        return has_value();
1570
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
832
    {
1569
832
        return has_value();
1570
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
832
    {
1569
832
        return has_value();
1570
832
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1568
832
    {
1569
832
        return has_value();
1570
832
    }
1571
1572
    /// Get the unexpected value, if one is contained in *this
1573
    constexpr error_type& error() & noexcept
1574
12.2M
    {
1575
12.2M
        SCN_EXPECT(!has_value());
1576
12.2M
        return this->get_unexpected().error();
1577
12.2M
    }
scn::v3::expected<long, scn::v3::scan_error>::error() &
Line
Count
Source
1574
1.80M
    {
1575
1.80M
        SCN_EXPECT(!has_value());
1576
1.80M
        return this->get_unexpected().error();
1577
1.80M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1574
342k
    {
1575
342k
        SCN_EXPECT(!has_value());
1576
342k
        return this->get_unexpected().error();
1577
342k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1574
691k
    {
1575
691k
        SCN_EXPECT(!has_value());
1576
691k
        return this->get_unexpected().error();
1577
691k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::error() &
scn::v3::expected<char const*, scn::v3::scan_error>::error() &
Line
Count
Source
1574
656k
    {
1575
656k
        SCN_EXPECT(!has_value());
1576
656k
        return this->get_unexpected().error();
1577
656k
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::error() &
Line
Count
Source
1574
987k
    {
1575
987k
        SCN_EXPECT(!has_value());
1576
987k
        return this->get_unexpected().error();
1577
987k
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1574
20.9k
    {
1575
20.9k
        SCN_EXPECT(!has_value());
1576
20.9k
        return this->get_unexpected().error();
1577
20.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1574
732
    {
1575
732
        SCN_EXPECT(!has_value());
1576
732
        return this->get_unexpected().error();
1577
732
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1574
2.33M
    {
1575
2.33M
        SCN_EXPECT(!has_value());
1576
2.33M
        return this->get_unexpected().error();
1577
2.33M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1574
8.86k
    {
1575
8.86k
        SCN_EXPECT(!has_value());
1576
8.86k
        return this->get_unexpected().error();
1577
8.86k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1574
416k
    {
1575
416k
        SCN_EXPECT(!has_value());
1576
416k
        return this->get_unexpected().error();
1577
416k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1574
19.9k
    {
1575
19.9k
        SCN_EXPECT(!has_value());
1576
19.9k
        return this->get_unexpected().error();
1577
19.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::error() &
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1574
600
    {
1575
600
        SCN_EXPECT(!has_value());
1576
600
        return this->get_unexpected().error();
1577
600
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1574
2.34M
    {
1575
2.34M
        SCN_EXPECT(!has_value());
1576
2.34M
        return this->get_unexpected().error();
1577
2.34M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1574
9.28k
    {
1575
9.28k
        SCN_EXPECT(!has_value());
1576
9.28k
        return this->get_unexpected().error();
1577
9.28k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1574
3.48k
    {
1575
3.48k
        SCN_EXPECT(!has_value());
1576
3.48k
        return this->get_unexpected().error();
1577
3.48k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1574
120
    {
1575
120
        SCN_EXPECT(!has_value());
1576
120
        return this->get_unexpected().error();
1577
120
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1574
387k
    {
1575
387k
        SCN_EXPECT(!has_value());
1576
387k
        return this->get_unexpected().error();
1577
387k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1574
46.0k
    {
1575
46.0k
        SCN_EXPECT(!has_value());
1576
46.0k
        return this->get_unexpected().error();
1577
46.0k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1574
963k
    {
1575
963k
        SCN_EXPECT(!has_value());
1576
963k
        return this->get_unexpected().error();
1577
963k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1574
5.02k
    {
1575
5.02k
        SCN_EXPECT(!has_value());
1576
5.02k
        return this->get_unexpected().error();
1577
5.02k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1574
120
    {
1575
120
        SCN_EXPECT(!has_value());
1576
120
        return this->get_unexpected().error();
1577
120
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1574
386k
    {
1575
386k
        SCN_EXPECT(!has_value());
1576
386k
        return this->get_unexpected().error();
1577
386k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1574
46.0k
    {
1575
46.0k
        SCN_EXPECT(!has_value());
1576
46.0k
        return this->get_unexpected().error();
1577
46.0k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1574
255k
    {
1575
255k
        SCN_EXPECT(!has_value());
1576
255k
        return this->get_unexpected().error();
1577
255k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1574
510k
    {
1575
510k
        SCN_EXPECT(!has_value());
1576
510k
        return this->get_unexpected().error();
1577
510k
    }
1578
    constexpr const error_type& error() const& noexcept
1579
0
    {
1580
0
        SCN_EXPECT(!has_value());
1581
0
        return this->get_unexpected().error();
1582
0
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() const &
1583
    constexpr error_type&& error() && noexcept
1584
529k
    {
1585
529k
        SCN_EXPECT(!has_value());
1586
529k
        return std::move(this->get_unexpected().error());
1587
529k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1584
48.2k
    {
1585
48.2k
        SCN_EXPECT(!has_value());
1586
48.2k
        return std::move(this->get_unexpected().error());
1587
48.2k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1584
34.3k
    {
1585
34.3k
        SCN_EXPECT(!has_value());
1586
34.3k
        return std::move(this->get_unexpected().error());
1587
34.3k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1584
28.0k
    {
1585
28.0k
        SCN_EXPECT(!has_value());
1586
28.0k
        return std::move(this->get_unexpected().error());
1587
28.0k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1584
80.7k
    {
1585
80.7k
        SCN_EXPECT(!has_value());
1586
80.7k
        return std::move(this->get_unexpected().error());
1587
80.7k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1584
300k
    {
1585
300k
        SCN_EXPECT(!has_value());
1586
300k
        return std::move(this->get_unexpected().error());
1587
300k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1584
38.3k
    {
1585
38.3k
        SCN_EXPECT(!has_value());
1586
38.3k
        return std::move(this->get_unexpected().error());
1587
38.3k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
1588
    constexpr const error_type&& error() const&& noexcept
1589
    {
1590
        SCN_EXPECT(!has_value());
1591
        return std::move(this->get_unexpected().error());
1592
    }
1593
1594
    /// Get the expected value, if one is contained in *this
1595
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1596
    constexpr U& value() & noexcept
1597
461M
    {
1598
461M
        SCN_EXPECT(has_value());
1599
461M
        return this->get_value();
1600
461M
    }
long& scn::v3::expected<long, scn::v3::scan_error>::value<long, (void*)0>() &
Line
Count
Source
1597
74.8M
    {
1598
74.8M
        SCN_EXPECT(has_value());
1599
74.8M
        return this->get_value();
1600
74.8M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &
Line
Count
Source
1597
2.42M
    {
1598
2.42M
        SCN_EXPECT(has_value());
1599
2.42M
        return this->get_value();
1600
2.42M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1597
33.6M
    {
1598
33.6M
        SCN_EXPECT(has_value());
1599
33.6M
        return this->get_value();
1600
33.6M
    }
std::__1::regex_constants::syntax_option_type& scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::value<std::__1::regex_constants::syntax_option_type, (void*)0>() &
Line
Count
Source
1597
14.1k
    {
1598
14.1k
        SCN_EXPECT(has_value());
1599
14.1k
        return this->get_value();
1600
14.1k
    }
Unexecuted instantiation: wchar_t& scn::v3::expected<wchar_t, scn::v3::scan_error>::value<wchar_t, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1597
5.15M
    {
1598
5.15M
        SCN_EXPECT(has_value());
1599
5.15M
        return this->get_value();
1600
5.15M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1597
17.4M
    {
1598
17.4M
        SCN_EXPECT(has_value());
1599
17.4M
        return this->get_value();
1600
17.4M
    }
char const*& scn::v3::expected<char const*, scn::v3::scan_error>::value<char const*, (void*)0>() &
Line
Count
Source
1597
15.0M
    {
1598
15.0M
        SCN_EXPECT(has_value());
1599
15.0M
        return this->get_value();
1600
15.0M
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1597
81.5M
    {
1598
81.5M
        SCN_EXPECT(has_value());
1599
81.5M
        return this->get_value();
1600
81.5M
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::eof_error>::value<char const*, (void*)0>() &
Line
Count
Source
1597
3.08M
    {
1598
3.08M
        SCN_EXPECT(has_value());
1599
3.08M
        return this->get_value();
1600
3.08M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, (void*)0>() &
Line
Count
Source
1597
3.52M
    {
1598
3.52M
        SCN_EXPECT(has_value());
1599
3.52M
        return this->get_value();
1600
3.52M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1597
4.90M
    {
1598
4.90M
        SCN_EXPECT(has_value());
1599
4.90M
        return this->get_value();
1600
4.90M
    }
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
2.29M
    {
1598
2.29M
        SCN_EXPECT(has_value());
1599
2.29M
        return this->get_value();
1600
2.29M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Line
Count
Source
1597
2.16M
    {
1598
2.16M
        SCN_EXPECT(has_value());
1599
2.16M
        return this->get_value();
1600
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Line
Count
Source
1597
2.16M
    {
1598
2.16M
        SCN_EXPECT(has_value());
1599
2.16M
        return this->get_value();
1600
2.16M
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1597
311k
    {
1598
311k
        SCN_EXPECT(has_value());
1599
311k
        return this->get_value();
1600
311k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1597
8.11M
    {
1598
8.11M
        SCN_EXPECT(has_value());
1599
8.11M
        return this->get_value();
1600
8.11M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1597
10
    {
1598
10
        SCN_EXPECT(has_value());
1599
10
        return this->get_value();
1600
10
    }
std::__1::pair<char const*, long>& scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::value<std::__1::pair<char const*, long>, (void*)0>() &
Line
Count
Source
1597
3.65M
    {
1598
3.65M
        SCN_EXPECT(has_value());
1599
3.65M
        return this->get_value();
1600
3.65M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
char const*& scn::v3::expected<char const*, scn::v3::impl::parse_error>::value<char const*, (void*)0>() &
Line
Count
Source
1597
871k
    {
1598
871k
        SCN_EXPECT(has_value());
1599
871k
        return this->get_value();
1600
871k
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
2.29M
    {
1598
2.29M
        SCN_EXPECT(has_value());
1599
2.29M
        return this->get_value();
1600
2.29M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Line
Count
Source
1597
2.16M
    {
1598
2.16M
        SCN_EXPECT(has_value());
1599
2.16M
        return this->get_value();
1600
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Line
Count
Source
1597
2.16M
    {
1598
2.16M
        SCN_EXPECT(has_value());
1599
2.16M
        return this->get_value();
1600
2.16M
    }
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1597
309k
    {
1598
309k
        SCN_EXPECT(has_value());
1599
309k
        return this->get_value();
1600
309k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
119k
    {
1598
119k
        SCN_EXPECT(has_value());
1599
119k
        return this->get_value();
1600
119k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
130k
    {
1598
130k
        SCN_EXPECT(has_value());
1599
130k
        return this->get_value();
1600
130k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, (void*)0>() &
Line
Count
Source
1597
13.7M
    {
1598
13.7M
        SCN_EXPECT(has_value());
1599
13.7M
        return this->get_value();
1600
13.7M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1597
266k
    {
1598
266k
        SCN_EXPECT(has_value());
1599
266k
        return this->get_value();
1600
266k
    }
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
354k
    {
1598
354k
        SCN_EXPECT(has_value());
1599
354k
        return this->get_value();
1600
354k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Line
Count
Source
1597
351k
    {
1598
351k
        SCN_EXPECT(has_value());
1599
351k
        return this->get_value();
1600
351k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Line
Count
Source
1597
351k
    {
1598
351k
        SCN_EXPECT(has_value());
1599
351k
        return this->get_value();
1600
351k
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1597
724
    {
1598
724
        SCN_EXPECT(has_value());
1599
724
        return this->get_value();
1600
724
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1597
40.8M
    {
1598
40.8M
        SCN_EXPECT(has_value());
1599
40.8M
        return this->get_value();
1600
40.8M
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1597
34.3M
    {
1598
34.3M
        SCN_EXPECT(has_value());
1599
34.3M
        return this->get_value();
1600
34.3M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
std::__1::pair<wchar_t const*, long>& scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::value<std::__1::pair<wchar_t const*, long>, (void*)0>() &
Line
Count
Source
1597
27.2M
    {
1598
27.2M
        SCN_EXPECT(has_value());
1599
27.2M
        return this->get_value();
1600
27.2M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1597
263k
    {
1598
263k
        SCN_EXPECT(has_value());
1599
263k
        return this->get_value();
1600
263k
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
354k
    {
1598
354k
        SCN_EXPECT(has_value());
1599
354k
        return this->get_value();
1600
354k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Line
Count
Source
1597
352k
    {
1598
352k
        SCN_EXPECT(has_value());
1599
352k
        return this->get_value();
1600
352k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Line
Count
Source
1597
352k
    {
1598
352k
        SCN_EXPECT(has_value());
1599
352k
        return this->get_value();
1600
352k
    }
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1597
724
    {
1598
724
        SCN_EXPECT(has_value());
1599
724
        return this->get_value();
1600
724
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
2.49k
    {
1598
2.49k
        SCN_EXPECT(has_value());
1599
2.49k
        return this->get_value();
1600
2.49k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1597
2.58k
    {
1598
2.58k
        SCN_EXPECT(has_value());
1599
2.58k
        return this->get_value();
1600
2.58k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, (void*)0>() &
Line
Count
Source
1597
296k
    {
1598
296k
        SCN_EXPECT(has_value());
1599
296k
        return this->get_value();
1600
296k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, (void*)0>() &
Line
Count
Source
1597
283k
    {
1598
283k
        SCN_EXPECT(has_value());
1599
283k
        return this->get_value();
1600
283k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, (void*)0>() &
Line
Count
Source
1597
382k
    {
1598
382k
        SCN_EXPECT(has_value());
1599
382k
        return this->get_value();
1600
382k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, (void*)0>() &
Line
Count
Source
1597
324k
    {
1598
324k
        SCN_EXPECT(has_value());
1599
324k
        return this->get_value();
1600
324k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, (void*)0>() &
Line
Count
Source
1597
390k
    {
1598
390k
        SCN_EXPECT(has_value());
1599
390k
        return this->get_value();
1600
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, (void*)0>() &
Line
Count
Source
1597
328k
    {
1598
328k
        SCN_EXPECT(has_value());
1599
328k
        return this->get_value();
1600
328k
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &
Line
Count
Source
1597
2.28M
    {
1598
2.28M
        SCN_EXPECT(has_value());
1599
2.28M
        return this->get_value();
1600
2.28M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, (void*)0>() &
Line
Count
Source
1597
298k
    {
1598
298k
        SCN_EXPECT(has_value());
1599
298k
        return this->get_value();
1600
298k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, (void*)0>() &
Line
Count
Source
1597
285k
    {
1598
285k
        SCN_EXPECT(has_value());
1599
285k
        return this->get_value();
1600
285k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, (void*)0>() &
Line
Count
Source
1597
383k
    {
1598
383k
        SCN_EXPECT(has_value());
1599
383k
        return this->get_value();
1600
383k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, (void*)0>() &
Line
Count
Source
1597
326k
    {
1598
326k
        SCN_EXPECT(has_value());
1599
326k
        return this->get_value();
1600
326k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, (void*)0>() &
Line
Count
Source
1597
390k
    {
1598
390k
        SCN_EXPECT(has_value());
1599
390k
        return this->get_value();
1600
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, (void*)0>() &
Line
Count
Source
1597
330k
    {
1598
330k
        SCN_EXPECT(has_value());
1599
330k
        return this->get_value();
1600
330k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, (void*)0>() &
Line
Count
Source
1597
595
    {
1598
595
        SCN_EXPECT(has_value());
1599
595
        return this->get_value();
1600
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, (void*)0>() &
Line
Count
Source
1597
500
    {
1598
500
        SCN_EXPECT(has_value());
1599
500
        return this->get_value();
1600
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, (void*)0>() &
Line
Count
Source
1597
711
    {
1598
711
        SCN_EXPECT(has_value());
1599
711
        return this->get_value();
1600
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, (void*)0>() &
Line
Count
Source
1597
564
    {
1598
564
        SCN_EXPECT(has_value());
1599
564
        return this->get_value();
1600
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, (void*)0>() &
Line
Count
Source
1597
864
    {
1598
864
        SCN_EXPECT(has_value());
1599
864
        return this->get_value();
1600
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, (void*)0>() &
Line
Count
Source
1597
694
    {
1598
694
        SCN_EXPECT(has_value());
1599
694
        return this->get_value();
1600
694
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &
Line
Count
Source
1597
16.8M
    {
1598
16.8M
        SCN_EXPECT(has_value());
1599
16.8M
        return this->get_value();
1600
16.8M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, (void*)0>() &
Line
Count
Source
1597
595
    {
1598
595
        SCN_EXPECT(has_value());
1599
595
        return this->get_value();
1600
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, (void*)0>() &
Line
Count
Source
1597
500
    {
1598
500
        SCN_EXPECT(has_value());
1599
500
        return this->get_value();
1600
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, (void*)0>() &
Line
Count
Source
1597
711
    {
1598
711
        SCN_EXPECT(has_value());
1599
711
        return this->get_value();
1600
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, (void*)0>() &
Line
Count
Source
1597
564
    {
1598
564
        SCN_EXPECT(has_value());
1599
564
        return this->get_value();
1600
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, (void*)0>() &
Line
Count
Source
1597
864
    {
1598
864
        SCN_EXPECT(has_value());
1599
864
        return this->get_value();
1600
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, (void*)0>() &
Line
Count
Source
1597
694
    {
1598
694
        SCN_EXPECT(has_value());
1599
694
        return this->get_value();
1600
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1597
145k
    {
1598
145k
        SCN_EXPECT(has_value());
1599
145k
        return this->get_value();
1600
145k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, (void*)0>() &
Line
Count
Source
1597
145k
    {
1598
145k
        SCN_EXPECT(has_value());
1599
145k
        return this->get_value();
1600
145k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1597
146k
    {
1598
146k
        SCN_EXPECT(has_value());
1599
146k
        return this->get_value();
1600
146k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, (void*)0>() &
Line
Count
Source
1597
16.8M
    {
1598
16.8M
        SCN_EXPECT(has_value());
1599
16.8M
        return this->get_value();
1600
16.8M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, (void*)0>() &
Line
Count
Source
1597
16.8M
    {
1598
16.8M
        SCN_EXPECT(has_value());
1599
16.8M
        return this->get_value();
1600
16.8M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, (void*)0>() &
Line
Count
Source
1597
16.8M
    {
1598
16.8M
        SCN_EXPECT(has_value());
1599
16.8M
        return this->get_value();
1600
16.8M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, (void*)0>() &
Line
Count
Source
1597
34.7k
    {
1598
34.7k
        SCN_EXPECT(has_value());
1599
34.7k
        return this->get_value();
1600
34.7k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, (void*)0>() &
Line
Count
Source
1597
46.2k
    {
1598
46.2k
        SCN_EXPECT(has_value());
1599
46.2k
        return this->get_value();
1600
46.2k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, (void*)0>() &
Line
Count
Source
1597
46.2k
    {
1598
46.2k
        SCN_EXPECT(has_value());
1599
46.2k
        return this->get_value();
1600
46.2k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, (void*)0>() &
Line
Count
Source
1597
31.9k
    {
1598
31.9k
        SCN_EXPECT(has_value());
1599
31.9k
        return this->get_value();
1600
31.9k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, (void*)0>() &
Line
Count
Source
1597
43.4k
    {
1598
43.4k
        SCN_EXPECT(has_value());
1599
43.4k
        return this->get_value();
1600
43.4k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, (void*)0>() &
Line
Count
Source
1597
43.4k
    {
1598
43.4k
        SCN_EXPECT(has_value());
1599
43.4k
        return this->get_value();
1600
43.4k
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, (void*)0>() &
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, (void*)0>() &
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, (void*)0>() &
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, (void*)0>() &
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, (void*)0>() &
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, (void*)0>() &
1601
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1602
    constexpr const U& value() const& noexcept
1603
0
    {
1604
0
        SCN_EXPECT(has_value());
1605
0
        return this->get_value();
1606
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::eof_error>::value<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::parse_error>::value<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::value<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::value<wchar_t const*, (void*)0>() const &
1607
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1608
    constexpr U&& value() && noexcept
1609
    {
1610
        SCN_EXPECT(has_value());
1611
        return std::move(this->get_value());
1612
    }
1613
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1614
    constexpr const U&& value() const&& noexcept
1615
    {
1616
        SCN_EXPECT(has_value());
1617
        return std::move(this->get_value());
1618
    }
1619
1620
    /// Get the expected value, if one is contained in *this
1621
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1622
    constexpr U& operator*() & noexcept
1623
145M
    {
1624
145M
        return value();
1625
145M
    }
long& scn::v3::expected<long, scn::v3::scan_error>::operator*<long, (void*)0>() &
Line
Count
Source
1623
74.3M
    {
1624
74.3M
        return value();
1625
74.3M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &
Line
Count
Source
1623
2.20M
    {
1624
2.20M
        return value();
1625
2.20M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1623
26.9M
    {
1624
26.9M
        return value();
1625
26.9M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1623
526k
    {
1624
526k
        return value();
1625
526k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1623
1.13M
    {
1624
1.13M
        return value();
1625
1.13M
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1623
488k
    {
1624
488k
        return value();
1625
488k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1623
10
    {
1624
10
        return value();
1625
10
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
char const*& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1623
868k
    {
1624
868k
        return value();
1625
868k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1623
1.71M
    {
1624
1.71M
        return value();
1625
1.71M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
char const*& scn::v3::expected<char const*, scn::v3::scan_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1623
1.77M
    {
1624
1.77M
        return value();
1625
1.77M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1623
2.62k
    {
1624
2.62k
        return value();
1625
2.62k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1623
2.98k
    {
1624
2.98k
        return value();
1625
2.98k
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1623
2.62k
    {
1624
2.62k
        return value();
1625
2.62k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1623
2.98k
    {
1624
2.98k
        return value();
1625
2.98k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1623
6.74M
    {
1624
6.74M
        return value();
1625
6.74M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1623
13.4M
    {
1624
13.4M
        return value();
1625
13.4M
    }
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &
Line
Count
Source
1623
2.09M
    {
1624
2.09M
        return value();
1625
2.09M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &
Line
Count
Source
1623
13.4M
    {
1624
13.4M
        return value();
1625
13.4M
    }
1626
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1627
    constexpr const U& operator*() const& noexcept
1628
0
    {
1629
0
        return value();
1630
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() const &
1631
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1632
    constexpr U&& operator*() && noexcept
1633
260M
    {
1634
260M
        return std::move(value());
1635
260M
    }
std::__1::regex_constants::syntax_option_type&& scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator*<std::__1::regex_constants::syntax_option_type, (void*)0>() &&
Line
Count
Source
1633
14.1k
    {
1634
14.1k
        return std::move(value());
1635
14.1k
    }
Unexecuted instantiation: wchar_t&& scn::v3::expected<wchar_t, scn::v3::scan_error>::operator*<wchar_t, (void*)0>() &&
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1633
4.62M
    {
1634
4.62M
        return std::move(value());
1635
4.62M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1633
17.4M
    {
1634
17.4M
        return std::move(value());
1635
17.4M
    }
char const*&& scn::v3::expected<char const*, scn::v3::scan_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1633
13.2M
    {
1634
13.2M
        return std::move(value());
1635
13.2M
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1633
68.0M
    {
1634
68.0M
        return std::move(value());
1635
68.0M
    }
char const*&& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1633
2.59M
    {
1634
2.59M
        return std::move(value());
1635
2.59M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, (void*)0>() &&
Line
Count
Source
1633
3.52M
    {
1634
3.52M
        return std::move(value());
1635
3.52M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
2.28M
    {
1634
2.28M
        return std::move(value());
1635
2.28M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1633
3.76M
    {
1634
3.76M
        return std::move(value());
1635
3.76M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1633
2.16M
    {
1634
2.16M
        return std::move(value());
1635
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1633
2.16M
    {
1634
2.16M
        return std::move(value());
1635
2.16M
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1633
311k
    {
1634
311k
        return std::move(value());
1635
311k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1633
6.40M
    {
1634
6.40M
        return std::move(value());
1635
6.40M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
std::__1::pair<char const*, long>&& scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator*<std::__1::pair<char const*, long>, (void*)0>() &&
Line
Count
Source
1633
3.65M
    {
1634
3.65M
        return std::move(value());
1635
3.65M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
std::__1::pair<char const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
2.29M
    {
1634
2.29M
        return std::move(value());
1635
2.29M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &&
Line
Count
Source
1633
2.16M
    {
1634
2.16M
        return std::move(value());
1635
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &&
Line
Count
Source
1633
2.16M
    {
1634
2.16M
        return std::move(value());
1635
2.16M
    }
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1633
309k
    {
1634
309k
        return std::move(value());
1635
309k
    }
long&& scn::v3::expected<long, scn::v3::scan_error>::operator*<long, (void*)0>() &&
Line
Count
Source
1633
492k
    {
1634
492k
        return std::move(value());
1635
492k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
119k
    {
1634
119k
        return std::move(value());
1635
119k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<char const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
130k
    {
1634
130k
        return std::move(value());
1635
130k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, (void*)0>() &&
Line
Count
Source
1633
13.7M
    {
1634
13.7M
        return std::move(value());
1635
13.7M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
354k
    {
1634
354k
        return std::move(value());
1635
354k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1633
263k
    {
1634
263k
        return std::move(value());
1635
263k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1633
351k
    {
1634
351k
        return std::move(value());
1635
351k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1633
351k
    {
1634
351k
        return std::move(value());
1635
351k
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1633
724
    {
1634
724
        return std::move(value());
1635
724
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1633
34.0M
    {
1634
34.0M
        return std::move(value());
1635
34.0M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1633
34.3M
    {
1634
34.3M
        return std::move(value());
1635
34.3M
    }
std::__1::pair<wchar_t const*, long>&& scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator*<std::__1::pair<wchar_t const*, long>, (void*)0>() &&
Line
Count
Source
1633
27.2M
    {
1634
27.2M
        return std::move(value());
1635
27.2M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
354k
    {
1634
354k
        return std::move(value());
1635
354k
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1633
260k
    {
1634
260k
        return std::move(value());
1635
260k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &&
Line
Count
Source
1633
352k
    {
1634
352k
        return std::move(value());
1635
352k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &&
Line
Count
Source
1633
352k
    {
1634
352k
        return std::move(value());
1635
352k
    }
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1633
724
    {
1634
724
        return std::move(value());
1635
724
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
2.49k
    {
1634
2.49k
        return std::move(value());
1635
2.49k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1633
2.58k
    {
1634
2.58k
        return std::move(value());
1635
2.58k
    }
char const*&& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1633
3.13k
    {
1634
3.13k
        return std::move(value());
1635
3.13k
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1633
223k
    {
1634
223k
        return std::move(value());
1635
223k
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &&
Line
Count
Source
1633
190k
    {
1634
190k
        return std::move(value());
1635
190k
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1633
6.73M
    {
1634
6.73M
        return std::move(value());
1635
6.73M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &&
Line
Count
Source
1633
3.36M
    {
1634
3.36M
        return std::move(value());
1635
3.36M
    }
1636
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1637
    constexpr const U&& operator*() const&& noexcept
1638
    {
1639
        return std::move(value());
1640
    }
1641
1642
    constexpr value_type* operator->() noexcept
1643
55.2M
    {
1644
55.2M
        return &value();
1645
55.2M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1643
8.29k
    {
1644
8.29k
        return &value();
1645
8.29k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1643
2.38k
    {
1644
2.38k
        return &value();
1645
2.38k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
296k
    {
1644
296k
        return &value();
1645
296k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
283k
    {
1644
283k
        return &value();
1645
283k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
382k
    {
1644
382k
        return &value();
1645
382k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
324k
    {
1644
324k
        return &value();
1645
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
390k
    {
1644
390k
        return &value();
1645
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
328k
    {
1644
328k
        return &value();
1645
328k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
298k
    {
1644
298k
        return &value();
1645
298k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
285k
    {
1644
285k
        return &value();
1645
285k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
383k
    {
1644
383k
        return &value();
1645
383k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
326k
    {
1644
326k
        return &value();
1645
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
390k
    {
1644
390k
        return &value();
1645
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
330k
    {
1644
330k
        return &value();
1645
330k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
595
    {
1644
595
        return &value();
1645
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
500
    {
1644
500
        return &value();
1645
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
711
    {
1644
711
        return &value();
1645
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
564
    {
1644
564
        return &value();
1645
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
864
    {
1644
864
        return &value();
1645
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
694
    {
1644
694
        return &value();
1645
694
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
595
    {
1644
595
        return &value();
1645
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
500
    {
1644
500
        return &value();
1645
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
711
    {
1644
711
        return &value();
1645
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
564
    {
1644
564
        return &value();
1645
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
864
    {
1644
864
        return &value();
1645
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
694
    {
1644
694
        return &value();
1645
694
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
145k
    {
1644
145k
        return &value();
1645
145k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
145k
    {
1644
145k
        return &value();
1645
145k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
146k
    {
1644
146k
        return &value();
1645
146k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
16.8M
    {
1644
16.8M
        return &value();
1645
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
16.8M
    {
1644
16.8M
        return &value();
1645
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
16.8M
    {
1644
16.8M
        return &value();
1645
16.8M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
34.7k
    {
1644
34.7k
        return &value();
1645
34.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
46.2k
    {
1644
46.2k
        return &value();
1645
46.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
46.2k
    {
1644
46.2k
        return &value();
1645
46.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
31.9k
    {
1644
31.9k
        return &value();
1645
31.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
43.4k
    {
1644
43.4k
        return &value();
1645
43.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1643
43.4k
    {
1644
43.4k
        return &value();
1645
43.4k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator->()
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator->()
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator->()
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator->()
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator->()
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator->()
1646
    constexpr const value_type* operator->() const noexcept
1647
    {
1648
        return &value();
1649
    }
1650
1651
    /// Returns the expected value if *this contains one, otherwise
1652
    /// returns default_value
1653
    template <typename U,
1654
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1655
                                          std::is_convertible_v<U, T>>>
1656
    constexpr T value_or(U&& default_value) const& noexcept(
1657
        std::is_nothrow_copy_constructible_v<T> &&
1658
        std::is_nothrow_constructible_v<T, U&&>)
1659
    {
1660
        if (has_value()) {
1661
            return value();
1662
        }
1663
        return std::forward<U>(default_value);
1664
    }
1665
    template <typename U,
1666
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1667
                                          std::is_convertible_v<U, T>>>
1668
    constexpr T value_or(U&& default_value) && noexcept(
1669
        std::is_nothrow_move_constructible_v<T> &&
1670
        std::is_nothrow_constructible_v<T, U&&>)
1671
    {
1672
        if (has_value()) {
1673
            return std::move(value());
1674
        }
1675
        return std::forward<U>(default_value);
1676
    }
1677
1678
    template <typename G,
1679
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1680
                                          std::is_convertible_v<G, E>>>
1681
    constexpr E error_or(G&& default_error) const& noexcept(
1682
        std::is_nothrow_copy_constructible_v<E> &&
1683
        std::is_nothrow_constructible_v<E, G&&>)
1684
    {
1685
        if (!has_value()) {
1686
            return error();
1687
        }
1688
        return std::forward<G>(default_error);
1689
    }
1690
    template <typename G,
1691
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1692
                                          std::is_convertible_v<G, E>>>
1693
    constexpr E error_or(G&& default_error) && noexcept(
1694
        std::is_nothrow_move_constructible_v<E> &&
1695
        std::is_nothrow_constructible_v<E, G&&>)
1696
    {
1697
        if (!has_value()) {
1698
            return std::move(error());
1699
        }
1700
        return std::forward<G>(default_error);
1701
    }
1702
1703
    template <typename F>
1704
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1705
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1706
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1707
    {
1708
        return detail::and_then_impl(*this, std::forward<F>(f));
1709
    }
1710
    template <typename F>
1711
    constexpr auto and_then(F&& f) const& noexcept(
1712
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1713
                                       std::forward<F>(f))))
1714
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1715
    {
1716
        return detail::and_then_impl(*this, std::forward<F>(f));
1717
    }
1718
    template <typename F>
1719
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1720
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1721
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1722
    {
1723
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1724
    }
1725
    template <typename F>
1726
    constexpr auto and_then(F&& f) const&& noexcept(
1727
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1728
                                       std::forward<F>(f))))
1729
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1730
    {
1731
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1732
    }
1733
1734
    template <typename F>
1735
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1736
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1737
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1738
    {
1739
        return detail::or_else_impl(*this, std::forward<F>(f));
1740
    }
1741
    template <typename F>
1742
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1743
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1744
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1745
    {
1746
        return detail::or_else_impl(*this, std::forward<F>(f));
1747
    }
1748
    template <typename F>
1749
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1750
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1751
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1752
    {
1753
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1754
    }
1755
    template <typename F>
1756
    constexpr auto or_else(F&& f) const&& noexcept(
1757
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1758
                                      std::forward<F>(f))))
1759
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1760
    {
1761
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1762
    }
1763
1764
    template <typename F>
1765
    constexpr auto transform(
1766
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1767
    {
1768
        return detail::transform_impl(*this, std::forward<F>(f));
1769
    }
1770
    template <typename F>
1771
    constexpr auto transform(F&& f)
1772
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1773
    {
1774
        return detail::transform_impl(*this, std::forward<F>(f));
1775
    }
1776
    template <typename F>
1777
    constexpr auto transform(
1778
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1779
    {
1780
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1781
    }
1782
    template <typename F>
1783
    constexpr auto transform(F&& f)
1784
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1785
    {
1786
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1787
    }
1788
1789
    template <typename F>
1790
    constexpr auto transform_error(
1791
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1792
                                                          std::forward<F>(f)))
1793
246k
    {
1794
246k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1795
246k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1793
114k
    {
1794
114k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1795
114k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1793
123k
    {
1794
123k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1795
123k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1793
4.99k
    {
1794
4.99k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1795
4.99k
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1793
3.73k
    {
1794
3.73k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1795
3.73k
    }
1796
    template <typename F>
1797
    constexpr auto transform_error(F&& f)
1798
        const& -> decltype(detail::transform_error_impl(*this,
1799
                                                        std::forward<F>(f)))
1800
    {
1801
        return detail::transform_error_impl(*this, std::forward<F>(f));
1802
    }
1803
    template <typename F>
1804
    constexpr auto transform_error(
1805
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1806
                                                           std::forward<F>(f)))
1807
66.3M
    {
1808
66.3M
        return detail::transform_error_impl(std::move(*this),
1809
66.3M
                                            std::forward<F>(f));
1810
66.3M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1807
2.45M
    {
1808
2.45M
        return detail::transform_error_impl(std::move(*this),
1809
2.45M
                                            std::forward<F>(f));
1810
2.45M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1807
17.2M
    {
1808
17.2M
        return detail::transform_error_impl(std::move(*this),
1809
17.2M
                                            std::forward<F>(f));
1810
17.2M
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1807
2.62M
    {
1808
2.62M
        return detail::transform_error_impl(std::move(*this),
1809
2.62M
                                            std::forward<F>(f));
1810
2.62M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1807
2.21M
    {
1808
2.21M
        return detail::transform_error_impl(std::move(*this),
1809
2.21M
                                            std::forward<F>(f));
1810
2.21M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1807
2.16M
    {
1808
2.16M
        return detail::transform_error_impl(std::move(*this),
1809
2.16M
                                            std::forward<F>(f));
1810
2.16M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1807
1.64M
    {
1808
1.64M
        return detail::transform_error_impl(std::move(*this),
1809
1.64M
                                            std::forward<F>(f));
1810
1.64M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1807
2.16M
    {
1808
2.16M
        return detail::transform_error_impl(std::move(*this),
1809
2.16M
                                            std::forward<F>(f));
1810
2.16M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1807
119k
    {
1808
119k
        return detail::transform_error_impl(std::move(*this),
1809
119k
                                            std::forward<F>(f));
1810
119k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1807
130k
    {
1808
130k
        return detail::transform_error_impl(std::move(*this),
1809
130k
                                            std::forward<F>(f));
1810
130k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1807
287k
    {
1808
287k
        return detail::transform_error_impl(std::move(*this),
1809
287k
                                            std::forward<F>(f));
1810
287k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1807
351k
    {
1808
351k
        return detail::transform_error_impl(std::move(*this),
1809
351k
                                            std::forward<F>(f));
1810
351k
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1807
303k
    {
1808
303k
        return detail::transform_error_impl(std::move(*this),
1809
303k
                                            std::forward<F>(f));
1810
303k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1807
34.0M
    {
1808
34.0M
        return detail::transform_error_impl(std::move(*this),
1809
34.0M
                                            std::forward<F>(f));
1810
34.0M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1807
288k
    {
1808
288k
        return detail::transform_error_impl(std::move(*this),
1809
288k
                                            std::forward<F>(f));
1810
288k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1807
352k
    {
1808
352k
        return detail::transform_error_impl(std::move(*this),
1809
352k
                                            std::forward<F>(f));
1810
352k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1807
2.49k
    {
1808
2.49k
        return detail::transform_error_impl(std::move(*this),
1809
2.49k
                                            std::forward<F>(f));
1810
2.49k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1807
2.58k
    {
1808
2.58k
        return detail::transform_error_impl(std::move(*this),
1809
2.58k
                                            std::forward<F>(f));
1810
2.58k
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1807
3.30k
    {
1808
3.30k
        return detail::transform_error_impl(std::move(*this),
1809
3.30k
                                            std::forward<F>(f));
1810
3.30k
    }
1811
    template <typename F>
1812
    constexpr auto transform_error(F&& f)
1813
        const&& -> decltype(detail::transform_error_impl(*this,
1814
                                                         std::forward<F>(f)))
1815
    {
1816
        return detail::transform_error_impl(std::move(*this),
1817
                                            std::forward<F>(f));
1818
    }
1819
1820
private:
1821
    template <typename... Args>
1822
    void emplace_impl(Args&&... args) noexcept(
1823
        std::is_nothrow_constructible_v<T, Args&&...>)
1824
    {
1825
        if (this->has_value()) {
1826
            this->destroy_value();
1827
            this->construct(std::forward<Args>(args)...);
1828
        }
1829
        else {
1830
#if SCN_HAS_EXCEPTIONS
1831
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
1832
                auto tmp = std::move(error());
1833
                this->destroy_unexpected();
1834
1835
                try {
1836
                    this->construct(std::forward<Args>(args)...);
1837
                }
1838
                catch (...) {
1839
                    this->construct_unexpected(std::move(tmp));
1840
                    throw;
1841
                }
1842
            }
1843
            else {
1844
                this->construct(std::forward<Args>(args)...);
1845
            }
1846
#else
1847
            this->destroy_unexpected();
1848
            this->construct(std::forward<Args>(args)...);
1849
#endif
1850
        }
1851
    }
1852
1853
    template <typename Value>
1854
    void assign_value(Value&& val) noexcept(
1855
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
1856
                                        Value&&> &&
1857
        std::is_nothrow_assignable_v<T, Value&&>)
1858
    {
1859
        if (has_value()) {
1860
            this->get_value() = std::forward<Value>(val);
1861
            return;
1862
        }
1863
1864
#if SCN_HAS_EXCEPTIONS
1865
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
1866
            this->destroy_unexpected();
1867
            this->construct(std::forward<Value>(val));
1868
        }
1869
        else {
1870
            auto tmp = std::move(this->get_unexpected());
1871
            this->destroy_unexpected();
1872
1873
            try {
1874
                this->construct(std::forward<Value>(val));
1875
            }
1876
            catch (...) {
1877
                this->construct_unexpected(std::move(tmp));
1878
            }
1879
        }
1880
#else
1881
        this->destroy_unexpected();
1882
        this->construct(std::forward<Value>(val));
1883
#endif
1884
    }
1885
1886
    template <typename Unexpected>
1887
    void assign_unexpected(Unexpected&& unex) noexcept(
1888
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
1889
        std::is_nothrow_assignable_v<E, Unexpected&&>)
1890
    {
1891
        if (!has_value()) {
1892
            this->get_unexpected() = std::forward<Unexpected>(unex);
1893
            return;
1894
        }
1895
1896
        this->destroy_value();
1897
        this->construct_unexpected(std::forward<Unexpected>(unex));
1898
    }
1899
};
1900
1901
/////////////////////////////////////////////////////////////////
1902
// <ranges> implementation
1903
/////////////////////////////////////////////////////////////////
1904
1905
// The following is a very minimal <ranges> implementation,
1906
// which is a heavily stripped-down and adapted version of NanoRange:
1907
//   https://github.com/tcbrindle/NanoRange
1908
// NanoRange is provided under the Boost license.
1909
//   Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
1910
1911
namespace ranges {
1912
1913
namespace detail {
1914
using namespace scn::detail;
1915
1916
template <typename T>
1917
constexpr auto decay_copy(T&& t) noexcept(
1918
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
1919
665M
{
1920
665M
    return SCN_FWD(t);
1921
665M
}
_ZN3scn2v36ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
1919
20.3M
{
1920
20.3M
    return SCN_FWD(t);
1921
20.3M
}
_ZN3scn2v36ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
1919
204M
{
1920
204M
    return SCN_FWD(t);
1921
204M
}
_ZN3scn2v36ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
1919
37.7M
{
1920
37.7M
    return SCN_FWD(t);
1921
37.7M
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1919
75.5k
{
1920
75.5k
    return SCN_FWD(t);
1921
75.5k
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1919
2.11k
{
1920
2.11k
    return SCN_FWD(t);
1921
2.11k
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
1919
28.1M
{
1920
28.1M
    return SCN_FWD(t);
1921
28.1M
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
1919
374M
{
1920
374M
    return SCN_FWD(t);
1921
374M
}
1922
1923
template <bool>
1924
struct conditional {
1925
    template <typename T, typename>
1926
    using type = T;
1927
};
1928
1929
template <>
1930
struct conditional<false> {
1931
    template <typename, typename U>
1932
    using type = U;
1933
};
1934
1935
template <bool B, typename T, typename U>
1936
using conditional_t = typename conditional<B>::template type<T, U>;
1937
1938
template <template <class...> class AliasT, typename... Args>
1939
auto exists_helper(long) -> std::false_type;
1940
1941
template <template <class...> class AliasT,
1942
          typename... Args,
1943
          typename = AliasT<Args...>>
1944
auto exists_helper(int) -> std::true_type;
1945
1946
template <template <class...> class AliasT, typename... Args>
1947
inline constexpr bool exists_v =
1948
    decltype(exists_helper<AliasT, Args...>(0))::value;
1949
1950
template <typename, typename...>
1951
auto test_requires_fn(long) -> std::false_type;
1952
1953
template <typename R,
1954
          typename... Args,
1955
          typename = decltype(&R::template requires_<Args...>)>
1956
auto test_requires_fn(int) -> std::true_type;
1957
1958
template <typename R, typename... Args>
1959
inline constexpr bool requires_ =
1960
    decltype(test_requires_fn<R, Args...>(0))::value;
1961
1962
template <bool Expr>
1963
using requires_expr = std::enable_if_t<Expr, int>;
1964
}  // namespace detail
1965
1966
template <typename>
1967
inline constexpr bool enable_borrowed_range = false;
1968
1969
namespace detail {
1970
template <typename T>
1971
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
1972
1973
struct boolean_testable_concept {
1974
    template <typename T>
1975
    auto requires_(T&& t)
1976
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
1977
};
1978
1979
template <typename T>
1980
inline constexpr bool boolean_testable =
1981
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
1982
}  // namespace detail
1983
1984
namespace detail {
1985
struct weakly_equality_comparable_with_concept {
1986
    template <typename T, typename U>
1987
    auto requires_(const std::remove_reference_t<T>& t,
1988
                   const std::remove_reference_t<U>& u)
1989
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
1990
                    requires_expr<boolean_testable<decltype(t != u)>>{},
1991
                    requires_expr<boolean_testable<decltype(u == t)>>{},
1992
                    requires_expr<boolean_testable<decltype(u != t)>>{});
1993
};
1994
1995
template <typename T, typename U>
1996
inline constexpr bool weakly_equality_comparable_with =
1997
    requires_<weakly_equality_comparable_with_concept, T, U>;
1998
}  // namespace detail
1999
2000
template <typename T>
2001
inline constexpr bool equality_comparable =
2002
    detail::weakly_equality_comparable_with<T, T>;
2003
2004
namespace detail {
2005
struct equality_comparable_with_concept {
2006
    template <typename, typename>
2007
    static auto test(long) -> std::false_type;
2008
2009
    template <typename T, typename U>
2010
    static auto test(int)
2011
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2012
#if 0
2013
            common_reference_with<const std::remove_reference_t<T>&,
2014
                                  const std::remove_reference_t<U>&> &&
2015
            equality_comparable<
2016
                common_reference_t<const std::remove_reference_t<T>&,
2017
                                   const std::remove_reference_t<U>&>> &&
2018
#endif
2019
                                weakly_equality_comparable_with<T, U>,
2020
                            std::true_type>;
2021
};
2022
}  // namespace detail
2023
2024
template <typename T, typename U>
2025
inline constexpr bool equality_comparable_with =
2026
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2027
2028
namespace detail {
2029
struct partially_ordered_with_concept {
2030
    template <typename T, typename U>
2031
    auto requires_(const std::remove_reference_t<T>& t,
2032
                   const std::remove_reference_t<U>& u)
2033
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2034
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2035
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2036
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2037
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2038
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2039
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2040
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2041
};
2042
2043
template <typename T, typename U>
2044
inline constexpr bool partially_ordered_with =
2045
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2046
}  // namespace detail
2047
2048
template <typename T>
2049
inline constexpr bool totally_ordered =
2050
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2051
2052
namespace detail {
2053
struct totally_ordered_with_concept {
2054
    template <typename, typename>
2055
    static auto test(long) -> std::false_type;
2056
2057
    template <typename T, typename U>
2058
    static auto test(int)
2059
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2060
                                equality_comparable_with<T, U> &&
2061
#if 0
2062
                                totally_ordered<common_reference_t<
2063
                                    const std::remove_reference_t<T>&,
2064
                                    const std::remove_reference_t<U>&>> &&
2065
#endif
2066
                                partially_ordered_with<T, U>,
2067
                            std::true_type>;
2068
};
2069
}  // namespace detail
2070
2071
template <typename T, typename U>
2072
inline constexpr bool totally_ordered_with =
2073
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2074
2075
namespace detail {
2076
struct movable_concept {
2077
    template <typename T>
2078
    static auto test(long) -> std::false_type;
2079
2080
    template <typename T>
2081
    static auto test(int) -> std::enable_if_t<
2082
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2083
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2084
        std::true_type>;
2085
};
2086
}  // namespace detail
2087
2088
template <typename T>
2089
inline constexpr bool movable =
2090
    decltype(detail::movable_concept::test<T>(0))::value;
2091
2092
namespace detail {
2093
struct copyable_concept {
2094
    template <typename>
2095
    static auto test(long) -> std::false_type;
2096
2097
    template <typename T>
2098
    static auto test(int)
2099
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2100
                                std::is_copy_assignable_v<T>,
2101
                            std::true_type>;
2102
};
2103
}  // namespace detail
2104
2105
template <typename T>
2106
inline constexpr bool copyable =
2107
    decltype(detail::copyable_concept::test<T>(0))::value;
2108
2109
template <typename T>
2110
inline constexpr bool semiregular =
2111
    copyable<T> && std::is_default_constructible_v<T>;
2112
2113
template <typename T>
2114
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2115
2116
template <typename>
2117
struct incrementable_traits;
2118
2119
namespace detail {
2120
struct empty {};
2121
2122
template <typename T>
2123
struct with_difference_type {
2124
    using difference_type = T;
2125
};
2126
2127
template <typename, typename = void>
2128
struct incrementable_traits_helper {};
2129
2130
// Workaround for GCC silliness: void* has no difference_type
2131
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2132
// error Can we formulate the concept differently to avoid the need for this
2133
// hack?
2134
template <>
2135
struct incrementable_traits_helper<void*> {};
2136
2137
template <typename T>
2138
struct incrementable_traits_helper<T*>
2139
    : detail::conditional_t<std::is_object_v<T>,
2140
                            with_difference_type<std::ptrdiff_t>,
2141
                            empty> {};
2142
2143
template <class I>
2144
struct incrementable_traits_helper<const I>
2145
    : incrementable_traits<std::decay_t<I>> {};
2146
2147
template <typename, typename = void>
2148
struct has_member_difference_type : std::false_type {};
2149
2150
template <typename T>
2151
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2152
    : std::true_type {};
2153
2154
template <typename T>
2155
constexpr bool has_member_difference_type_v =
2156
    has_member_difference_type<T>::value;
2157
2158
template <typename T>
2159
struct incrementable_traits_helper<
2160
    T,
2161
    std::enable_if_t<has_member_difference_type_v<T>>> {
2162
    using difference_type = typename T::difference_type;
2163
};
2164
2165
template <typename T, typename = void>
2166
struct subtraction_result_type {
2167
    using type = void;
2168
};
2169
template <typename T>
2170
struct subtraction_result_type<
2171
    T,
2172
    std::void_t<decltype(std::declval<const T&>() -
2173
                         std::declval<const T&>())>> {
2174
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2175
};
2176
2177
template <typename T>
2178
inline constexpr bool enable_incrtraits_subtractable =
2179
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2180
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2181
2182
template <typename T>
2183
struct incrementable_traits_helper<
2184
    T,
2185
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2186
    : with_difference_type<
2187
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2188
}  // namespace detail
2189
2190
template <typename T>
2191
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2192
2193
template <typename T>
2194
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2195
2196
template <typename>
2197
struct readable_traits;
2198
2199
namespace detail {
2200
template <typename T>
2201
struct with_value_type {
2202
    using value_type = T;
2203
};
2204
2205
template <typename, typename = void>
2206
struct readable_traits_helper {};
2207
2208
template <typename T>
2209
struct readable_traits_helper<T*>
2210
    : detail::conditional_t<std::is_object_v<T>,
2211
                            with_value_type<std::remove_cv_t<T>>,
2212
                            empty> {};
2213
2214
template <typename I>
2215
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2216
    : readable_traits<std::decay_t<I>> {};
2217
2218
template <typename I>
2219
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2220
    : readable_traits<std::decay_t<I>> {};
2221
2222
template <typename T, typename V = typename T::value_type>
2223
struct member_value_type
2224
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2225
2226
template <typename T, typename E = typename T::element_type>
2227
struct member_element_type
2228
    : detail::conditional_t<std::is_object_v<E>,
2229
                            with_value_type<std::remove_cv_t<E>>,
2230
                            empty> {};
2231
2232
template <typename T>
2233
using member_value_type_t = typename T::value_type;
2234
2235
template <typename T>
2236
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2237
2238
template <typename T>
2239
using member_element_type_t = typename T::element_type;
2240
2241
template <typename T>
2242
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2243
2244
template <typename T>
2245
struct readable_traits_helper<T,
2246
                              std::enable_if_t<has_member_value_type_v<T> &&
2247
                                               !has_member_element_type_v<T>>>
2248
    : member_value_type<T> {};
2249
2250
template <typename T>
2251
struct readable_traits_helper<T,
2252
                              std::enable_if_t<has_member_element_type_v<T> &&
2253
                                               !has_member_value_type_v<T>>>
2254
    : member_element_type<T> {};
2255
2256
// A type which has both value_type and element_type members must specialise
2257
// readable_traits to tell us which one to prefer -- see
2258
// https://github.com/ericniebler/stl2/issues/562
2259
template <typename T>
2260
struct readable_traits_helper<T,
2261
                              std::enable_if_t<has_member_element_type_v<T> &&
2262
                                               has_member_value_type_v<T>>> {};
2263
}  // namespace detail
2264
2265
template <typename T>
2266
struct readable_traits : detail::readable_traits_helper<T> {};
2267
2268
template <typename T>
2269
using iter_value_t = typename readable_traits<T>::value_type;
2270
2271
namespace detail {
2272
template <typename T>
2273
using with_reference = T&;
2274
2275
struct can_reference_concept {
2276
    template <typename T>
2277
    auto requires_() -> with_reference<T>;
2278
};
2279
2280
template <typename T>
2281
inline constexpr bool can_reference =
2282
    detail::requires_<can_reference_concept, T>;
2283
2284
struct dereferencable_concept {
2285
    template <typename T>
2286
    auto requires_(T& t)
2287
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2288
};
2289
2290
template <typename T>
2291
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2292
2293
// GCC and Clang allow dereferencing void* as an extension.
2294
// Let's kill that off now.
2295
2296
template <>
2297
inline constexpr bool dereferenceable<void*> = false;
2298
}  // namespace detail
2299
2300
using std::bidirectional_iterator_tag;
2301
using std::forward_iterator_tag;
2302
using std::input_iterator_tag;
2303
using std::output_iterator_tag;
2304
using std::random_access_iterator_tag;
2305
2306
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2307
    __cpp_lib_ranges >= 201911L
2308
using std::contiguous_iterator_tag;
2309
#else
2310
struct contiguous_iterator_tag : random_access_iterator_tag {};
2311
#endif
2312
2313
template <typename T>
2314
struct iterator_category;
2315
2316
namespace detail {
2317
template <typename T, typename = void>
2318
struct iterator_category_ {};
2319
template <typename T>
2320
struct iterator_category_<T*>
2321
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2322
template <typename T>
2323
struct iterator_category_<const T> : iterator_category<T> {};
2324
template <typename T>
2325
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2326
    using type = typename T::iterator_category;
2327
};
2328
}  // namespace detail
2329
2330
template <typename T>
2331
struct iterator_category : detail::iterator_category_<T> {};
2332
template <typename T>
2333
using iterator_category_t = typename iterator_category<T>::type;
2334
2335
namespace detail {
2336
2337
template <typename T, typename = void>
2338
struct legacy_iterator_category : iterator_category<T> {};
2339
2340
template <typename T>
2341
struct legacy_iterator_category<
2342
    T,
2343
    std::enable_if_t<
2344
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2345
    using type = random_access_iterator_tag;
2346
};
2347
2348
template <typename T>
2349
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2350
2351
}  // namespace detail
2352
2353
template <typename T>
2354
using iter_reference_t =
2355
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2356
2357
namespace detail {
2358
2359
struct readable_concept {
2360
    template <typename In>
2361
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2362
                                 std::declval<iter_reference_t<In>>());
2363
    // std::declval<iter_rvalue_reference_t<In>>());
2364
2365
    template <typename>
2366
    static auto test(long) -> std::false_type;
2367
2368
    template <typename In>
2369
    static auto test(int)
2370
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2371
#if 0
2372
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2373
            common_reference_with<iter_reference_t<In>&&,
2374
                                  iter_rvalue_reference_t<In>&&> &&
2375
            common_reference_with<iter_rvalue_reference_t<In>&&,
2376
                                  const iter_value_t<In>&>,
2377
#endif
2378
                            std::true_type>;
2379
};
2380
2381
}  // namespace detail
2382
2383
template <typename In>
2384
inline constexpr bool readable =
2385
    decltype(detail::readable_concept::test<In>(0))::value;
2386
2387
namespace detail {
2388
2389
struct writable_concept {
2390
    template <typename Out, typename T>
2391
    auto requires_(Out&& o, T&& t)
2392
        -> decltype(*o = std::forward<T>(t),
2393
                    *std::forward<Out>(o) = std::forward<T>(t),
2394
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2395
                        std::forward<T>(t),
2396
                    const_cast<const iter_reference_t<Out>&&>(
2397
                        *std::forward<Out>(o)) = std::forward<T>(t));
2398
};
2399
2400
}  // namespace detail
2401
2402
template <typename Out, typename T>
2403
inline constexpr bool writable =
2404
    detail::requires_<detail::writable_concept, Out, T>;
2405
2406
namespace detail {
2407
2408
template <typename T>
2409
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2410
2411
template <typename T>
2412
inline constexpr bool is_signed_integer_like =
2413
    std::is_integral_v<T> && std::is_signed_v<T>;
2414
2415
struct weakly_incrementable_concept {
2416
    template <typename I>
2417
    auto requires_(I i)
2418
        -> decltype(std::declval<iter_difference_t<I>>(),
2419
                    requires_expr<
2420
                        is_signed_integer_like<iter_difference_t<I>>>{},
2421
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2422
                    i++);
2423
};
2424
2425
}  // namespace detail
2426
2427
template <typename I>
2428
inline constexpr bool weakly_incrementable =
2429
    std::is_default_constructible_v<I> && movable<I> &&
2430
    detail::requires_<detail::weakly_incrementable_concept, I>;
2431
2432
namespace detail {
2433
2434
struct incrementable_concept {
2435
    template <typename I>
2436
    auto requires_(I i)
2437
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2438
};
2439
2440
}  // namespace detail
2441
2442
template <typename I>
2443
inline constexpr bool incrementable =
2444
    regular<I> && weakly_incrementable<I> &&
2445
    detail::requires_<detail::incrementable_concept, I>;
2446
2447
namespace detail {
2448
2449
struct input_or_output_iterator_concept {
2450
    template <typename I>
2451
    auto requires_(I i)
2452
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2453
};
2454
2455
}  // namespace detail
2456
2457
template <typename I>
2458
inline constexpr bool input_or_output_iterator =
2459
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2460
    weakly_incrementable<I>;
2461
2462
template <typename S, typename I>
2463
inline constexpr bool sentinel_for =
2464
    semiregular<S> && input_or_output_iterator<I> &&
2465
    detail::weakly_equality_comparable_with<S, I>;
2466
2467
template <typename S, typename I>
2468
inline constexpr bool disable_sized_sentinel = false;
2469
2470
namespace detail {
2471
2472
struct sized_sentinel_for_concept {
2473
    template <typename S, typename I>
2474
    auto requires_(const S& s, const I& i)
2475
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2476
                                                 iter_difference_t<I>>>{},
2477
                    requires_expr<std::is_same_v<decltype(i - s),
2478
                                                 iter_difference_t<I>>>{});
2479
};
2480
2481
}  // namespace detail
2482
2483
template <typename S, typename I>
2484
inline constexpr bool sized_sentinel_for =
2485
    sentinel_for<S, I> &&
2486
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2487
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2488
2489
// This is a hack, but I'm fed up with my tests breaking because GCC
2490
// has a silly extension
2491
template <typename S>
2492
inline constexpr bool sized_sentinel_for<S, void*> = false;
2493
2494
template <typename I>
2495
inline constexpr bool sized_sentinel_for<void*, I> = false;
2496
2497
template <>
2498
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2499
2500
namespace detail {
2501
2502
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2503
struct input_iterator_concept {
2504
    template <typename I>
2505
    auto requires_() -> iterator_category_t<I>;
2506
2507
    template <typename>
2508
    static auto test(long) -> std::false_type;
2509
2510
    template <typename I>
2511
    static auto test(int) -> std::enable_if_t<
2512
        input_or_output_iterator<I> && readable<I> &&
2513
            detail::requires_<input_iterator_concept, I> &&
2514
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2515
        std::true_type>;
2516
};
2517
2518
}  // namespace detail
2519
2520
template <typename I>
2521
inline constexpr bool input_iterator =
2522
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2523
2524
namespace detail {
2525
2526
struct output_iterator_concept {
2527
    template <typename I, typename T>
2528
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2529
};
2530
2531
}  // namespace detail
2532
2533
template <typename I, typename T>
2534
inline constexpr bool output_iterator =
2535
    input_or_output_iterator<I> && writable<I, T> &&
2536
    detail::requires_<detail::output_iterator_concept, I, T>;
2537
2538
namespace detail {
2539
2540
struct forward_iterator_concept {
2541
    template <typename>
2542
    static auto test(long) -> std::false_type;
2543
2544
    template <typename I>
2545
    static auto test(int) -> std::enable_if_t<
2546
        input_iterator<I> &&
2547
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2548
            incrementable<I> && sentinel_for<I, I>,
2549
        std::true_type>;
2550
};
2551
2552
}  // namespace detail
2553
2554
template <typename I>
2555
inline constexpr bool forward_iterator =
2556
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2557
2558
namespace detail {
2559
2560
struct bidirectional_iterator_concept {
2561
    template <typename I>
2562
    auto requires_(I i)
2563
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2564
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2565
2566
    template <typename>
2567
    static auto test(long) -> std::false_type;
2568
2569
    template <typename I>
2570
    static auto test(int) -> std::enable_if_t<
2571
        forward_iterator<I> &&
2572
            std::is_base_of_v<bidirectional_iterator_tag,
2573
                              iterator_category_t<I>> &&
2574
            detail::requires_<bidirectional_iterator_concept, I>,
2575
        std::true_type>;
2576
};
2577
2578
}  // namespace detail
2579
2580
template <typename I>
2581
inline constexpr bool bidirectional_iterator =
2582
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2583
2584
namespace detail {
2585
2586
struct random_access_iterator_concept {
2587
    template <typename>
2588
    static auto test(long) -> std::false_type;
2589
2590
    template <typename I>
2591
    static auto test(int) -> std::enable_if_t<
2592
        bidirectional_iterator<I> &&
2593
            std::is_base_of_v<random_access_iterator_tag,
2594
                              iterator_category_t<I>> &&
2595
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2596
            detail::requires_<random_access_iterator_concept, I>,
2597
        std::true_type>;
2598
2599
    template <typename I>
2600
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2601
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2602
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2603
#ifndef _MSC_VER
2604
                    requires_expr<std::is_same_v<decltype(n + j),
2605
                                                 I>>{},  // FIXME: MSVC doesn't
2606
                                                         // like this when I =
2607
                                                         // int*
2608
#endif
2609
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2610
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2611
                    requires_expr<
2612
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2613
};
2614
2615
}  // namespace detail
2616
2617
template <typename I>
2618
inline constexpr bool random_access_iterator =
2619
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2620
2621
namespace detail {
2622
2623
struct contiguous_iterator_concept {
2624
    template <typename>
2625
    static auto test(long) -> std::false_type;
2626
2627
    template <typename I>
2628
    static auto test(int) -> std::enable_if_t<
2629
        random_access_iterator<I> &&
2630
            /*std::is_base_of_v<contiguous_iterator_tag,
2631
                              iterator_category_t<I>> &&*/
2632
            detail::can_make_address_from_iterator<I> &&
2633
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2634
            std::is_same_v<iter_value_t<I>,
2635
                           remove_cvref_t<iter_reference_t<I>>>,
2636
        std::true_type>;
2637
};
2638
2639
}  // namespace detail
2640
2641
template <typename I>
2642
inline constexpr bool contiguous_iterator =
2643
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2644
2645
namespace detail::begin_ {
2646
2647
template <typename T>
2648
void begin(T&) = delete;
2649
template <typename T>
2650
void begin(const T&) = delete;
2651
2652
struct fn {
2653
private:
2654
    template <typename T,
2655
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2656
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2657
                  nullptr>
2658
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2659
2660
    template <typename T,
2661
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2662
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2663
        -> decltype(t + 0)
2664
    {
2665
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2666
        return t + 0;
2667
    }
2668
2669
    template <typename T>
2670
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2671
        noexcept(decay_copy(SCN_FWD(t).begin())))
2672
        -> std::enable_if_t<
2673
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2674
            decltype(decay_copy(SCN_FWD(t).begin()))>
2675
210M
    {
2676
210M
        return decay_copy(t.begin());
2677
210M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
270k
    {
2676
270k
        return decay_copy(t.begin());
2677
270k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
534k
    {
2676
534k
        return decay_copy(t.begin());
2677
534k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
9.86M
    {
2676
9.86M
        return decay_copy(t.begin());
2677
9.86M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
75.5k
    {
2676
75.5k
        return decay_copy(t.begin());
2677
75.5k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
67.7M
    {
2676
67.7M
        return decay_copy(t.begin());
2677
67.7M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
2.11k
    {
2676
2.11k
        return decay_copy(t.begin());
2677
2.11k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
5.09M
    {
2676
5.09M
        return decay_copy(t.begin());
2677
5.09M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
255k
    {
2676
255k
        return decay_copy(t.begin());
2677
255k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
4.81M
    {
2676
4.81M
        return decay_copy(t.begin());
2677
4.81M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
2.28M
    {
2676
2.28M
        return decay_copy(t.begin());
2677
2.28M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
67.9M
    {
2676
67.9M
        return decay_copy(t.begin());
2677
67.9M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
510k
    {
2676
510k
        return decay_copy(t.begin());
2677
510k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
34.2M
    {
2676
34.2M
        return decay_copy(t.begin());
2677
34.2M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2675
16.8M
    {
2676
16.8M
        return decay_copy(t.begin());
2677
16.8M
    }
2678
2679
    template <typename T>
2680
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2681
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2682
        -> std::enable_if_t<
2683
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2684
            decltype(decay_copy(begin(SCN_FWD(t))))>
2685
    {
2686
        return decay_copy(begin(SCN_FWD(t)));
2687
    }
2688
2689
public:
2690
    template <typename T>
2691
    constexpr auto operator()(T&& t) const
2692
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2693
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2694
210M
    {
2695
210M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
210M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
270k
    {
2695
270k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
270k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
534k
    {
2695
534k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
534k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
9.86M
    {
2695
9.86M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
9.86M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
75.5k
    {
2695
75.5k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
75.5k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
67.7M
    {
2695
67.7M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
67.7M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
2.11k
    {
2695
2.11k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
2.11k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
5.09M
    {
2695
5.09M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
5.09M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
255k
    {
2695
255k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
255k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
4.81M
    {
2695
4.81M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
4.81M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
2.28M
    {
2695
2.28M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
2.28M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
67.9M
    {
2695
67.9M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
67.9M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
510k
    {
2695
510k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
510k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
34.2M
    {
2695
34.2M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
34.2M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2694
16.8M
    {
2695
16.8M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2696
16.8M
    }
2697
};
2698
2699
}  // namespace detail::begin_
2700
2701
inline constexpr auto begin = detail::begin_::fn{};
2702
2703
namespace detail::end_ {
2704
2705
template <typename T>
2706
void end(T&) = delete;
2707
template <typename T>
2708
void end(const T&) = delete;
2709
2710
struct fn {
2711
private:
2712
    template <typename T,
2713
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2714
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2715
                  nullptr>
2716
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2717
2718
    template <typename T,
2719
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2720
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2721
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2722
    {
2723
        return t + std::extent_v<remove_cvref_t<T>>;
2724
    }
2725
2726
    template <typename T,
2727
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2728
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2729
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2730
        noexcept(decay_copy(SCN_FWD(t).end())))
2731
        -> std::enable_if_t<sentinel_for<S, I>,
2732
                            decltype(decay_copy(SCN_FWD(t).end()))>
2733
417M
    {
2734
417M
        return decay_copy(SCN_FWD(t).end());
2735
417M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
2.69M
    {
2734
2.69M
        return decay_copy(SCN_FWD(t).end());
2735
2.69M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
34.2M
    {
2734
34.2M
        return decay_copy(SCN_FWD(t).end());
2735
34.2M
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
2.42M
    {
2734
2.42M
        return decay_copy(SCN_FWD(t).end());
2735
2.42M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
15.9M
    {
2734
15.9M
        return decay_copy(SCN_FWD(t).end());
2735
15.9M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
2.28M
    {
2734
2.28M
        return decay_copy(SCN_FWD(t).end());
2735
2.28M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
2.53M
    {
2734
2.53M
        return decay_copy(SCN_FWD(t).end());
2735
2.53M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
33.6M
    {
2734
33.6M
        return decay_copy(SCN_FWD(t).end());
2735
33.6M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
289M
    {
2734
289M
        return decay_copy(SCN_FWD(t).end());
2735
289M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
16.8M
    {
2734
16.8M
        return decay_copy(SCN_FWD(t).end());
2735
16.8M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2733
17.3M
    {
2734
17.3M
        return decay_copy(SCN_FWD(t).end());
2735
17.3M
    }
2736
2737
    template <typename T,
2738
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2739
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2740
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2741
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2742
    {
2743
        return decay_copy(end(SCN_FWD(t)));
2744
    }
2745
2746
public:
2747
    template <typename T>
2748
    constexpr auto operator()(T&& t) const
2749
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2750
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2751
417M
    {
2752
417M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
417M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
2.69M
    {
2752
2.69M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
2.69M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
34.2M
    {
2752
34.2M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
34.2M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
2.42M
    {
2752
2.42M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
2.42M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
15.9M
    {
2752
15.9M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
15.9M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
2.28M
    {
2752
2.28M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
2.28M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
2.53M
    {
2752
2.53M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
2.53M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
33.6M
    {
2752
33.6M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
33.6M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
289M
    {
2752
289M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
289M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
16.8M
    {
2752
16.8M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
16.8M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2751
17.3M
    {
2752
17.3M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2753
17.3M
    }
2754
};
2755
2756
}  // namespace detail::end_
2757
2758
inline constexpr auto end = detail::end_::fn{};
2759
2760
namespace detail {
2761
struct range_concept {
2762
    template <typename T>
2763
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2764
};
2765
}  // namespace detail
2766
2767
template <typename T>
2768
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2769
2770
template <typename T>
2771
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2772
2773
template <typename R>
2774
using sentinel_t =
2775
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2776
2777
template <typename R>
2778
using range_difference_t =
2779
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2780
2781
template <typename R>
2782
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2783
2784
template <typename R>
2785
using range_reference_t =
2786
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2787
2788
namespace detail {
2789
template <typename, typename = void>
2790
inline constexpr bool is_object_pointer_v = false;
2791
template <typename P>
2792
inline constexpr bool
2793
    is_object_pointer_v<P,
2794
                        std::enable_if_t<std::is_pointer_v<P> &&
2795
                                         std::is_object_v<iter_value_t<P>>>> =
2796
        true;
2797
2798
namespace data_ {
2799
2800
struct fn {
2801
private:
2802
    template <typename T,
2803
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2804
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2805
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2806
76.1M
    {
2807
76.1M
        return t.data();
2808
76.1M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2806
5.13M
    {
2807
5.13M
        return t.data();
2808
5.13M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2806
34.0M
    {
2807
34.0M
        return t.data();
2808
34.0M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2806
130k
    {
2807
130k
        return t.data();
2808
130k
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2806
2.68M
    {
2807
2.68M
        return t.data();
2808
2.68M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2806
34.2M
    {
2807
34.2M
        return t.data();
2808
34.2M
    }
2809
2810
    template <typename T>
2811
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2812
        noexcept(scn::ranges::begin(SCN_FWD(t))))
2813
        -> std::enable_if_t<
2814
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
2815
            decltype(scn::ranges::begin(SCN_FWD(t)))>
2816
0
    {
2817
0
        return scn::ranges::begin(SCN_FWD(t));
2818
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<0ul>)
2819
2820
public:
2821
    template <typename T>
2822
    constexpr auto operator()(T&& t) const
2823
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
2824
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
2825
76.1M
    {
2826
76.1M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2827
76.1M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2825
5.13M
    {
2826
5.13M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2827
5.13M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2825
34.0M
    {
2826
34.0M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2827
34.0M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2825
130k
    {
2826
130k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2827
130k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2825
2.68M
    {
2826
2.68M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2827
2.68M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2825
34.2M
    {
2826
34.2M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2827
34.2M
    }
2828
};
2829
2830
}  // namespace data_
2831
}  // namespace detail
2832
2833
inline constexpr auto data = detail::data_::fn{};
2834
2835
template <typename T>
2836
inline constexpr bool disable_sized_range = false;
2837
2838
namespace detail::size_ {
2839
2840
template <typename T>
2841
void size(T&&) = delete;
2842
template <typename T>
2843
void size(T&) = delete;
2844
2845
struct fn {
2846
private:
2847
    template <typename T, std::size_t N>
2848
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
2849
    {
2850
        return N;
2851
    }
2852
2853
    template <typename T, std::size_t N>
2854
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
2855
    {
2856
        return N;
2857
    }
2858
2859
    template <typename T,
2860
              typename I = decltype(decay_copy(std::declval<T>().size()))>
2861
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2862
        noexcept(decay_copy(SCN_FWD(t).size())))
2863
        -> std::enable_if_t<std::is_integral_v<I> &&
2864
                                !disable_sized_range<remove_cvref_t<T>>,
2865
                            I>
2866
37.7M
    {
2867
37.7M
        return decay_copy(SCN_FWD(t).size());
2868
37.7M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2866
246k
    {
2867
246k
        return decay_copy(SCN_FWD(t).size());
2868
246k
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2866
6
    {
2867
6
        return decay_copy(SCN_FWD(t).size());
2868
6
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2866
610k
    {
2867
610k
        return decay_copy(SCN_FWD(t).size());
2868
610k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2866
2.68M
    {
2867
2.68M
        return decay_copy(SCN_FWD(t).size());
2868
2.68M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2866
34.2M
    {
2867
34.2M
        return decay_copy(SCN_FWD(t).size());
2868
34.2M
    }
2869
2870
    template <typename T,
2871
              typename I = decltype(decay_copy(size(std::declval<T>())))>
2872
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2873
        noexcept(decay_copy(size(SCN_FWD(t)))))
2874
        -> std::enable_if_t<std::is_integral_v<I> &&
2875
                                !disable_sized_range<remove_cvref_t<T>>,
2876
                            I>
2877
    {
2878
        return decay_copy(size(SCN_FWD(t)));
2879
    }
2880
2881
    template <typename T,
2882
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
2883
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
2884
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
2885
                                                             SCN_DECLVAL(I)))>
2886
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2887
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
2888
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
2889
                                sized_sentinel_for<S, I> && forward_iterator<I>,
2890
                            D>
2891
    {
2892
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
2893
    }
2894
2895
public:
2896
    template <typename T>
2897
    constexpr auto operator()(T&& t) const
2898
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
2899
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
2900
37.7M
    {
2901
37.7M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2902
37.7M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Line
Count
Source
2900
246k
    {
2901
246k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2902
246k
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2900
6
    {
2901
6
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2902
6
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
2900
610k
    {
2901
610k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2902
610k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2900
2.68M
    {
2901
2.68M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2902
2.68M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2900
34.2M
    {
2901
34.2M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2902
34.2M
    }
2903
};
2904
2905
}  // namespace detail::size_
2906
2907
inline constexpr auto size = detail::size_::fn{};
2908
2909
namespace detail {
2910
namespace ssize_ {
2911
struct fn {
2912
private:
2913
    template <typename T>
2914
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
2915
                                                  sizeof(std::ptrdiff_t),
2916
                                              std::ptrdiff_t,
2917
                                              range_difference_t<T>>;
2918
2919
    template <typename T>
2920
    static constexpr auto impl(T&& t) noexcept(
2921
        noexcept(ranges::size(std::forward<T>(t))))
2922
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
2923
856k
    {
2924
856k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2925
856k
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Line
Count
Source
2923
246k
    {
2924
246k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2925
246k
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Line
Count
Source
2923
6
    {
2924
6
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2925
6
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
2923
610k
    {
2924
610k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2925
610k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
2926
2927
public:
2928
    template <typename T>
2929
    constexpr auto operator()(T&& t) const
2930
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
2931
            -> decltype(fn::impl(std::forward<T>(t)))
2932
856k
    {
2933
856k
        return fn::impl(std::forward<T>(t));
2934
856k
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
2932
246k
    {
2933
246k
        return fn::impl(std::forward<T>(t));
2934
246k
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2932
6
    {
2933
6
        return fn::impl(std::forward<T>(t));
2934
6
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2932
610k
    {
2933
610k
        return fn::impl(std::forward<T>(t));
2934
610k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
2935
};
2936
}  // namespace ssize_
2937
}  // namespace detail
2938
2939
inline constexpr auto ssize = detail::ssize_::fn{};
2940
2941
namespace detail::empty_ {
2942
struct fn {
2943
private:
2944
    template <typename T>
2945
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2946
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
2947
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
2948
78.3M
    {
2949
78.3M
        return static_cast<bool>(SCN_FWD(t).empty());
2950
78.3M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2948
7.43M
    {
2949
7.43M
        return static_cast<bool>(SCN_FWD(t).empty());
2950
7.43M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2948
34.0M
    {
2949
34.0M
        return static_cast<bool>(SCN_FWD(t).empty());
2950
34.0M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2948
2.68M
    {
2949
2.68M
        return static_cast<bool>(SCN_FWD(t).empty());
2950
2.68M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2948
34.2M
    {
2949
34.2M
        return static_cast<bool>(SCN_FWD(t).empty());
2950
34.2M
    }
2951
2952
    template <typename T>
2953
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2954
        noexcept(ranges::size(SCN_FWD(t)) == 0))
2955
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
2956
    {
2957
        return ranges::size(SCN_FWD(t)) == 0;
2958
    }
2959
2960
    template <typename T,
2961
              typename I = decltype(ranges::begin(std::declval<T>()))>
2962
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2963
        noexcept(ranges::begin(t) == ranges::end(t)))
2964
        -> std::enable_if_t<forward_iterator<I>,
2965
                            decltype(ranges::begin(t) == ranges::end(t))>
2966
    {
2967
        return ranges::begin(t) == ranges::end(t);
2968
    }
2969
2970
public:
2971
    template <typename T>
2972
    constexpr auto operator()(T&& t) const
2973
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
2974
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
2975
78.3M
    {
2976
78.3M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
2977
78.3M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
2975
7.43M
    {
2976
7.43M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
2977
7.43M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
2975
34.0M
    {
2976
34.0M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
2977
34.0M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
2975
2.68M
    {
2976
2.68M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
2977
2.68M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
2975
34.2M
    {
2976
34.2M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
2977
34.2M
    }
2978
};
2979
}  // namespace detail::empty_
2980
2981
inline constexpr auto empty = detail::empty_::fn{};
2982
2983
template <typename T>
2984
inline constexpr bool borrowed_range =
2985
    range<T> && (std::is_lvalue_reference_v<T> ||
2986
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
2987
2988
namespace detail {
2989
struct sized_range_concept {
2990
    template <typename T>
2991
    auto requires_(T& t) -> decltype(ranges::size(t));
2992
};
2993
}  // namespace detail
2994
2995
template <typename T>
2996
inline constexpr bool sized_range =
2997
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
2998
    detail::requires_<detail::sized_range_concept, T>;
2999
3000
namespace detail {
3001
struct output_range_concept {
3002
    template <typename, typename>
3003
    static auto test(long) -> std::false_type;
3004
3005
    template <typename R, typename T>
3006
    static auto test(int)
3007
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3008
                            std::true_type>;
3009
};
3010
}  // namespace detail
3011
3012
template <typename R, typename T>
3013
inline constexpr bool output_range =
3014
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3015
3016
namespace detail {
3017
struct input_range_concept {
3018
    template <typename>
3019
    static auto test(long) -> std::false_type;
3020
3021
    template <typename T>
3022
    static auto test(int)
3023
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3024
                            std::true_type>;
3025
};
3026
}  // namespace detail
3027
3028
template <typename T>
3029
inline constexpr bool input_range =
3030
    decltype(detail::input_range_concept::test<T>(0))::value;
3031
3032
namespace detail {
3033
struct forward_range_concept {
3034
    template <typename>
3035
    static auto test(long) -> std::false_type;
3036
3037
    template <typename T>
3038
    static auto test(int)
3039
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3040
                            std::true_type>;
3041
};
3042
}  // namespace detail
3043
3044
template <typename T>
3045
inline constexpr bool forward_range =
3046
    decltype(detail::forward_range_concept::test<T>(0))::value;
3047
3048
namespace detail {
3049
struct bidirectional_range_concept {
3050
    template <typename>
3051
    static auto test(long) -> std::false_type;
3052
3053
    template <typename T>
3054
    static auto test(int)
3055
        -> std::enable_if_t<forward_range<T> &&
3056
                                bidirectional_iterator<iterator_t<T>>,
3057
                            std::true_type>;
3058
};
3059
}  // namespace detail
3060
3061
template <typename T>
3062
inline constexpr bool bidirectional_range =
3063
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3064
3065
namespace detail {
3066
struct random_access_range_concept {
3067
    template <typename>
3068
    static auto test(long) -> std::false_type;
3069
3070
    template <typename T>
3071
    static auto test(int)
3072
        -> std::enable_if_t<bidirectional_range<T> &&
3073
                                random_access_iterator<iterator_t<T>>,
3074
                            std::true_type>;
3075
};
3076
}  // namespace detail
3077
3078
template <typename T>
3079
inline constexpr bool random_access_range =
3080
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3081
3082
namespace detail {
3083
// FIXME: Not to spec
3084
// We only require random_access_iterator, not contiguous_iterator
3085
// This is so that vector::iterator, string::iterator etc can model
3086
// contiguous_range.
3087
// If we do range-v3-style deep integration with iterator_traits then
3088
// this could be fixed
3089
struct contiguous_range_concept {
3090
    template <typename>
3091
    static auto test(long) -> std::false_type;
3092
3093
    template <typename T>
3094
    static auto test(int) -> std::enable_if_t<
3095
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3096
                                   * &&
3097
                                   */
3098
            detail::requires_<contiguous_range_concept, T>,
3099
        std::true_type>;
3100
3101
    template <typename T>
3102
    auto requires_(T& t)
3103
        -> decltype(requires_expr<std::is_same_v<
3104
                        decltype(ranges::data(t)),
3105
                        std::add_pointer_t<range_reference_t<T>>>>{});
3106
};
3107
}  // namespace detail
3108
3109
template <typename R>
3110
inline constexpr bool contiguous_range =
3111
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3112
3113
namespace detail {
3114
struct common_range_concept {
3115
    template <typename>
3116
    static auto test(long) -> std::false_type;
3117
3118
    template <typename T>
3119
    static auto test(int)
3120
        -> std::enable_if_t<range<T> &&
3121
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3122
                            std::true_type>;
3123
};
3124
}  // namespace detail
3125
3126
template <typename T>
3127
inline constexpr bool common_range =
3128
    decltype(detail::common_range_concept::test<T>(0))::value;
3129
3130
struct dangling {
3131
    constexpr dangling() noexcept = default;
3132
3133
    template <typename... Args>
3134
    constexpr dangling(Args&&...) noexcept
3135
    {
3136
    }
3137
};
3138
3139
template <typename R>
3140
using borrowed_iterator_t =
3141
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3142
3143
template <typename D>
3144
class view_interface {
3145
    static_assert(std::is_class<D>::value, "");
3146
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3147
3148
private:
3149
    constexpr D& derived() noexcept
3150
82.8M
    {
3151
82.8M
        return static_cast<D&>(*this);
3152
82.8M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3150
14.8M
    {
3151
14.8M
        return static_cast<D&>(*this);
3152
14.8M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3150
68.0M
    {
3151
68.0M
        return static_cast<D&>(*this);
3152
68.0M
    }
3153
3154
    constexpr const D& derived() const noexcept
3155
73.8M
    {
3156
73.8M
        return static_cast<const D&>(*this);
3157
73.8M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3155
5.35M
    {
3156
5.35M
        return static_cast<const D&>(*this);
3157
5.35M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3155
68.4M
    {
3156
68.4M
        return static_cast<const D&>(*this);
3157
68.4M
    }
3158
3159
public:
3160
    template <typename R = D>
3161
    [[nodiscard]] constexpr auto empty()
3162
        -> std::enable_if_t<forward_range<R>, bool>
3163
    {
3164
        return ranges::begin(derived()) == ranges::end(derived());
3165
    }
3166
3167
    template <typename R = D>
3168
    [[nodiscard]] constexpr auto empty() const
3169
        -> std::enable_if_t<forward_range<const R>, bool>
3170
    {
3171
        return ranges::begin(derived()) == ranges::end(derived());
3172
    }
3173
3174
    template <typename R = D,
3175
              typename = decltype(ranges::empty(std::declval<R&>()))>
3176
    constexpr explicit operator bool()
3177
    {
3178
        return !ranges::empty(derived());
3179
    }
3180
3181
    template <typename R = D,
3182
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3183
    constexpr explicit operator bool() const
3184
    {
3185
        return !ranges::empty(derived());
3186
    }
3187
3188
    template <typename R = D,
3189
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3190
    constexpr auto data()
3191
41.4M
    {
3192
41.4M
        return ranges::empty(derived())
3193
41.4M
                   ? nullptr
3194
41.4M
                   : std::addressof(*ranges::begin(derived()));
3195
41.4M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3191
7.43M
    {
3192
7.43M
        return ranges::empty(derived())
3193
7.43M
                   ? nullptr
3194
7.43M
                   : std::addressof(*ranges::begin(derived()));
3195
7.43M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3191
34.0M
    {
3192
34.0M
        return ranges::empty(derived())
3193
34.0M
                   ? nullptr
3194
34.0M
                   : std::addressof(*ranges::begin(derived()));
3195
34.0M
    }
3196
3197
    template <typename R = D,
3198
              typename = std::enable_if_t<
3199
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3200
    constexpr auto data() const
3201
36.9M
    {
3202
36.9M
        return ranges::empty(derived())
3203
36.9M
                   ? nullptr
3204
36.9M
                   : std::addressof(*ranges::begin(derived()));
3205
36.9M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3201
2.68M
    {
3202
2.68M
        return ranges::empty(derived())
3203
2.68M
                   ? nullptr
3204
2.68M
                   : std::addressof(*ranges::begin(derived()));
3205
2.68M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3201
34.2M
    {
3202
34.2M
        return ranges::empty(derived())
3203
34.2M
                   ? nullptr
3204
34.2M
                   : std::addressof(*ranges::begin(derived()));
3205
34.2M
    }
3206
3207
    template <typename R = D,
3208
              typename = std::enable_if_t<
3209
                  forward_range<R> &&
3210
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3211
    constexpr auto size()
3212
    {
3213
        return ranges::end(derived()) - ranges::begin(derived());
3214
    }
3215
3216
    template <typename R = D,
3217
              typename = std::enable_if_t<
3218
                  forward_range<const R> &&
3219
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3220
    constexpr auto size() const
3221
    {
3222
        return ranges::end(derived()) - ranges::begin(derived());
3223
    }
3224
3225
#if 0
3226
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3227
    constexpr decltype(auto) front()
3228
    {
3229
        return *ranges::begin(derived());
3230
    }
3231
3232
    template <typename R = D,
3233
              typename = std::enable_if_t<forward_range<const R>>>
3234
    constexpr decltype(auto) front() const
3235
    {
3236
        return *ranges::begin(derived());
3237
    }
3238
3239
    template <
3240
        typename R = D,
3241
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3242
    constexpr decltype(auto) back()
3243
    {
3244
        return *ranges::prev(ranges::end(derived()));
3245
    }
3246
3247
    template <typename R = D,
3248
              typename = std::enable_if_t<bidirectional_range<const R> &&
3249
                                          common_range<const R>>>
3250
    constexpr decltype(auto) back() const
3251
    {
3252
        return *ranges::prev(ranges::end(derived()));
3253
    }
3254
3255
    template <typename R = D,
3256
              typename = std::enable_if_t<random_access_range<R>>>
3257
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3258
    {
3259
        return ranges::begin(derived())[n];
3260
    }
3261
#endif
3262
3263
    template <typename R = D,
3264
              typename = std::enable_if_t<random_access_range<const R>>>
3265
    constexpr decltype(auto) operator[](
3266
        iter_difference_t<iterator_t<const R>> n) const
3267
    {
3268
        return ranges::begin(derived())[n];
3269
    }
3270
};
3271
3272
namespace detail::subrange_ {
3273
3274
template <typename I, typename S = I>
3275
class subrange : public view_interface<subrange<I, S>> {
3276
    static_assert(input_or_output_iterator<I>);
3277
    static_assert(sentinel_for<S, I>);
3278
3279
public:
3280
    subrange() = default;
3281
3282
    template <typename I_,
3283
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3284
    constexpr subrange(I_ i, S s)
3285
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3286
1.03G
    {
3287
1.03G
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::subrange<char const*, (void*)0>(char const*, char const*)
Line
Count
Source
3286
24.0M
    {
3287
24.0M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange<wchar_t const*, (void*)0>(wchar_t const*, wchar_t const*)
Line
Count
Source
3286
651M
    {
3287
651M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
3286
22.0M
    {
3287
22.0M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
3286
275M
    {
3287
275M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
3286
1.83M
    {
3287
1.83M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
3286
10
    {
3287
10
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
3286
16.8M
    {
3287
16.8M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>)
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, (void*)0>(std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>)
Line
Count
Source
3286
4.81M
    {
3287
4.81M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, (void*)0>(std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>)
Line
Count
Source
3286
34.2M
    {
3287
34.2M
    }
3288
3289
    template <
3290
        typename R,
3291
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3292
                         std::is_convertible_v<iterator_t<R>, I> &&
3293
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3294
    constexpr subrange(R&& r)
3295
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3296
    {
3297
    }
3298
3299
    constexpr I begin() const
3300
2.65G
    {
3301
2.65G
        return m_iterator;
3302
2.65G
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3300
67.4M
    {
3301
67.4M
        return m_iterator;
3302
67.4M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3300
821M
    {
3301
821M
        return m_iterator;
3302
821M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3300
45.4M
    {
3301
45.4M
        return m_iterator;
3302
45.4M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3300
1.64G
    {
3301
1.64G
        return m_iterator;
3302
1.64G
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Line
Count
Source
3300
4.07M
    {
3301
4.07M
        return m_iterator;
3302
4.07M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Line
Count
Source
3300
10
    {
3301
10
        return m_iterator;
3302
10
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Line
Count
Source
3300
16.8M
    {
3301
16.8M
        return m_iterator;
3302
16.8M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3300
7.09M
    {
3301
7.09M
        return m_iterator;
3302
7.09M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3300
51.0M
    {
3301
51.0M
        return m_iterator;
3302
51.0M
    }
3303
    constexpr S end() const
3304
2.69G
    {
3305
2.69G
        return m_sentinel;
3306
2.69G
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3304
35.0M
    {
3305
35.0M
        return m_sentinel;
3306
35.0M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3304
1.49G
    {
3305
1.49G
        return m_sentinel;
3306
1.49G
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3304
50.6M
    {
3305
50.6M
        return m_sentinel;
3306
50.6M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Line
Count
Source
3304
4.07M
    {
3305
4.07M
        return m_sentinel;
3306
4.07M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Line
Count
Source
3304
20
    {
3305
20
        return m_sentinel;
3306
20
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3304
767M
    {
3305
767M
        return m_sentinel;
3306
767M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Line
Count
Source
3304
16.8M
    {
3305
16.8M
        return m_sentinel;
3306
16.8M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3304
18.2M
    {
3305
18.2M
        return m_sentinel;
3306
18.2M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3304
305M
    {
3305
305M
        return m_sentinel;
3306
305M
    }
3307
3308
    SCN_NODISCARD constexpr bool empty() const
3309
78.3M
    {
3310
78.3M
        return m_iterator == m_sentinel;
3311
78.3M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::empty() const
Line
Count
Source
3309
10.1M
    {
3310
10.1M
        return m_iterator == m_sentinel;
3311
10.1M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::empty() const
Line
Count
Source
3309
68.2M
    {
3310
68.2M
        return m_iterator == m_sentinel;
3311
68.2M
    }
3312
3313
    template <typename I_ = I,
3314
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3315
    constexpr std::size_t size() const
3316
78.6M
    {
3317
78.6M
        return static_cast<size_t>(m_sentinel - m_iterator);
3318
78.6M
    }
unsigned long scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::size<char const*, (void*)0>() const
Line
Count
Source
3316
10.1M
    {
3317
10.1M
        return static_cast<size_t>(m_sentinel - m_iterator);
3318
10.1M
    }
unsigned long scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::size<wchar_t const*, (void*)0>() const
Line
Count
Source
3316
68.5M
    {
3317
68.5M
        return static_cast<size_t>(m_sentinel - m_iterator);
3318
68.5M
    }
3319
3320
private:
3321
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3322
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3323
};
3324
3325
template <typename I,
3326
          typename S,
3327
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3328
              nullptr>
3329
subrange(I, S) -> subrange<I, S>;
3330
3331
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3332
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3333
3334
}  // namespace detail::subrange_
3335
3336
using detail::subrange_::subrange;
3337
3338
template <typename I, typename S>
3339
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3340
3341
struct default_sentinel_t {};
3342
inline constexpr default_sentinel_t default_sentinel{};
3343
3344
}  // namespace ranges
3345
3346
namespace detail {
3347
3348
namespace char_t_fn {
3349
template <typename T, typename = typename T::value_type>
3350
constexpr auto impl_nonarray(priority_tag<2>)
3351
0
{
3352
0
    return tag_type<typename T::value_type>{};
3353
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
3354
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3355
constexpr auto impl_nonarray(priority_tag<1>)
3356
0
{
3357
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3358
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::detail::priority_tag<1ul>)
3359
template <typename T>
3360
constexpr auto impl_nonarray(priority_tag<0>)
3361
{
3362
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3363
}
3364
3365
template <typename T,
3366
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3367
constexpr auto impl()
3368
0
{
3369
0
    using T_nocvref = remove_cvref_t<T>;
3370
0
    if constexpr (std::is_array_v<T_nocvref>) {
3371
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3372
0
    }
3373
0
    else {
3374
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3375
0
    }
3376
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
3377
3378
template <typename Range>
3379
using result = decltype(impl<Range>());
3380
}  // namespace char_t_fn
3381
3382
template <typename Range>
3383
using char_t = typename char_t_fn::result<Range>::type;
3384
3385
template <typename Range, typename = void>
3386
inline constexpr bool is_file_or_narrow_range_impl = false;
3387
template <>
3388
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3389
template <typename Range>
3390
inline constexpr bool
3391
    is_file_or_narrow_range_impl<Range,
3392
                                 std::enable_if_t<ranges::range<Range>>> =
3393
        std::is_same_v<char_t<Range>, char>;
3394
3395
template <typename Range>
3396
inline constexpr bool is_file_or_narrow_range =
3397
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3398
3399
template <typename Range, typename = void>
3400
inline constexpr bool is_wide_range = false;
3401
template <typename Range>
3402
inline constexpr bool
3403
    is_wide_range<Range,
3404
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3405
        std::is_same_v<char_t<Range>, wchar_t>;
3406
3407
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3408
struct borrowed_tail_subrange {
3409
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3410
};
3411
template <typename R>
3412
struct borrowed_tail_subrange<R, false> {
3413
    using type = ranges::dangling;
3414
};
3415
3416
/// Equivalent to
3417
/// `ranges::subrange<ranges::iterator_t<R>,
3418
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3419
/// `ranges::dangling` otherwise.
3420
///
3421
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3422
/// the range sentinel.
3423
template <typename R>
3424
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3425
3426
}  // namespace detail
3427
3428
namespace ranges {
3429
template <typename CharT, typename Traits>
3430
inline constexpr bool
3431
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3432
}
3433
3434
/////////////////////////////////////////////////////////////////
3435
// Small generic algorithms
3436
/////////////////////////////////////////////////////////////////
3437
3438
namespace detail {
3439
3440
/**
3441
 * Implementation of `std::min_element` without including `<algorithm>`
3442
 */
3443
template <typename It>
3444
constexpr It min_element(It first, It last)
3445
{
3446
    if (first == last) {
3447
        return last;
3448
    }
3449
3450
    It smallest = first;
3451
    ++first;
3452
    for (; first != last; ++first) {
3453
        if (*first < *smallest) {
3454
            smallest = first;
3455
        }
3456
    }
3457
    return smallest;
3458
}
3459
3460
/**
3461
 * Implementation of `std::min` without including `<algorithm>`
3462
 */
3463
template <typename T>
3464
constexpr T min(T a, T b) noexcept
3465
{
3466
    return (b < a) ? b : a;
3467
}
3468
3469
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3470
constexpr Ptr find(Ptr first, Ptr last, T value)
3471
{
3472
    for (; first != last; ++first) {
3473
        if (*first == value) {
3474
            return first;
3475
        }
3476
    }
3477
    return last;
3478
}
3479
3480
template <>
3481
inline const char* find<false, char>(const char* first,
3482
                                     const char* last,
3483
                                     char value)
3484
0
{
3485
0
    auto ptr = static_cast<const char*>(
3486
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3487
0
    return ptr != nullptr ? ptr : last;
3488
0
}
3489
3490
}  // namespace detail
3491
3492
/////////////////////////////////////////////////////////////////
3493
// Errors
3494
/////////////////////////////////////////////////////////////////
3495
3496
/**
3497
 * Error class.
3498
 * Used as a return value for functions without a success value.
3499
 *
3500
 * \ingroup result
3501
 */
3502
class SCN_TRIVIAL_ABI scan_error {
3503
public:
3504
    /// Error code
3505
    enum code {
3506
        /// No error
3507
        good = 0,
3508
        /// EOF
3509
        end_of_range,
3510
        /// Format string was invalid
3511
        invalid_format_string,
3512
        /// Scanned value was invalid for given type.
3513
        /// e.g. a period '.' when scanning for an int
3514
        invalid_scanned_value,
3515
        /// Scanned value was out of range for the desired type.
3516
        /// (e.g. `>2^32` for an `uint32_t`)
3517
        value_out_of_range,
3518
3519
        max_error
3520
    };
3521
3522
private:
3523
    using code_t = code;
3524
3525
public:
3526
    struct success_tag_t {};
3527
    static constexpr success_tag_t success_tag() noexcept
3528
0
    {
3529
0
        return {};
3530
0
    }
3531
3532
    /// Constructs an error with `code::good` and no message.
3533
132M
    constexpr scan_error() noexcept = default;
3534
0
    constexpr scan_error(success_tag_t) noexcept : scan_error() {}
3535
3536
    /// Constructs an error with `c` and `m`
3537
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3538
2.81M
    {
3539
2.81M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3540
2.81M
    }
3541
3542
    /// Evaluated to true if there was no error
3543
    constexpr explicit operator bool() const noexcept
3544
184M
    {
3545
184M
        return m_code == good;
3546
184M
    }
3547
3548
    constexpr explicit operator code_t() const noexcept
3549
0
    {
3550
0
        return m_code;
3551
0
    }
3552
3553
    /// Get error code
3554
    SCN_NODISCARD constexpr code_t code() const noexcept
3555
949k
    {
3556
949k
        return m_code;
3557
949k
    }
3558
    /// Get error message
3559
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3560
0
    {
3561
0
        return m_msg;
3562
0
    }
3563
3564
private:
3565
    const char* m_msg{nullptr};
3566
    code_t m_code{good};
3567
};
3568
3569
constexpr inline bool operator==(scan_error a, scan_error b) noexcept
3570
0
{
3571
0
    return a.code() == b.code();
3572
0
}
3573
constexpr inline bool operator!=(scan_error a, scan_error b) noexcept
3574
0
{
3575
0
    return !(a == b);
3576
0
}
3577
3578
constexpr inline bool operator==(scan_error a, enum scan_error::code b) noexcept
3579
949k
{
3580
949k
    return a.code() == b;
3581
949k
}
3582
constexpr inline bool operator!=(scan_error a, enum scan_error::code b) noexcept
3583
949k
{
3584
949k
    return !(a == b);
3585
949k
}
3586
3587
constexpr inline bool operator==(enum scan_error::code a, scan_error b) noexcept
3588
0
{
3589
0
    return a == b.code();
3590
0
}
3591
constexpr inline bool operator!=(enum scan_error::code a, scan_error b) noexcept
3592
0
{
3593
0
    return !(a == b);
3594
0
}
3595
3596
namespace detail {
3597
// Intentionally not constexpr, to give out a compile-time error
3598
scan_error handle_error(scan_error e);
3599
}  // namespace detail
3600
3601
/**
3602
 * An `expected<T, scan_error>`.
3603
 *
3604
 * Not a type alias to shorten template names
3605
 *
3606
 * \ingroup result
3607
 */
3608
template <typename T>
3609
struct scan_expected : public expected<T, scan_error> {
3610
    using expected<T, scan_error>::expected;
3611
3612
    scan_expected(const expected<T, scan_error>& other)
3613
        : expected<T, scan_error>(other)
3614
    {
3615
    }
3616
    scan_expected(expected<T, scan_error>&& other)
3617
        : expected<T, scan_error>(SCN_MOVE(other))
3618
2.20M
    {
3619
2.20M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>&&)
scn::v3::scan_expected<char const*>::scan_expected(scn::v3::expected<char const*, scn::v3::scan_error>&&)
Line
Count
Source
3618
123k
    {
3619
123k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3618
1.76M
    {
3619
1.76M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>&&)
scn::v3::scan_expected<wchar_t const*>::scan_expected(scn::v3::expected<wchar_t const*, scn::v3::scan_error>&&)
Line
Count
Source
3618
3.73k
    {
3619
3.73k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3618
308k
    {
3619
308k
    }
3620
};
3621
3622
template <typename... Args>
3623
auto unexpected_scan_error(Args&&... args)
3624
665k
{
3625
665k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
665k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [74]>(scn::v3::scan_error::code&&, char const (&) [74])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [41]>(scn::v3::scan_error::code&&, char const (&) [41])
Line
Count
Source
3624
125k
{
3625
125k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
125k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [51]>(scn::v3::scan_error::code&&, char const (&) [51])
Line
Count
Source
3624
64.5k
{
3625
64.5k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
64.5k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [37]>(scn::v3::scan_error::code&&, char const (&) [37])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [20]>(scn::v3::scan_error::code&&, char const (&) [20])
Line
Count
Source
3624
16
{
3625
16
    return unexpected(scan_error{SCN_FWD(args)...});
3626
16
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [35]>(scn::v3::scan_error::code&&, char const (&) [35])
Line
Count
Source
3624
9.34k
{
3625
9.34k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
9.34k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [34]>(scn::v3::scan_error::code&&, char const (&) [34])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [31]>(scn::v3::scan_error::code&&, char const (&) [31])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [38]>(scn::v3::scan_error::code&&, char const (&) [38])
Line
Count
Source
3624
376
{
3625
376
    return unexpected(scan_error{SCN_FWD(args)...});
3626
376
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [14]>(scn::v3::scan_error::code&&, char const (&) [14])
Line
Count
Source
3624
8.31k
{
3625
8.31k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
8.31k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [32]>(scn::v3::scan_error::code&&, char const (&) [32])
Line
Count
Source
3624
3.60k
{
3625
3.60k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
3.60k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [36]>(scn::v3::scan_error::code&&, char const (&) [36])
Line
Count
Source
3624
246
{
3625
246
    return unexpected(scan_error{SCN_FWD(args)...});
3626
246
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [59]>(scn::v3::scan_error::code&&, char const (&) [59])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [52]>(scn::v3::scan_error::code&&, char const (&) [52])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [66]>(scn::v3::scan_error::code&&, char const (&) [66])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [77]>(scn::v3::scan_error::code&&, char const (&) [77])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [40]>(scn::v3::scan_error::code&&, char const (&) [40])
Line
Count
Source
3624
4.69k
{
3625
4.69k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
4.69k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [42]>(scn::v3::scan_error::code&&, char const (&) [42])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [47]>(scn::v3::scan_error::code&&, char const (&) [47])
Line
Count
Source
3624
3.48k
{
3625
3.48k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
3.48k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [23]>(scn::v3::scan_error::code&&, char const (&) [23])
Line
Count
Source
3624
20
{
3625
20
    return unexpected(scan_error{SCN_FWD(args)...});
3626
20
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [19]>(scn::v3::scan_error::code&&, char const (&) [19])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [70]>(scn::v3::scan_error::code&&, char const (&) [70])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [22]>(scn::v3::scan_error::code&&, char const (&) [22])
Line
Count
Source
3624
385k
{
3625
385k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
385k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [29]>(scn::v3::scan_error::code&&, char const (&) [29])
Line
Count
Source
3624
3.45k
{
3625
3.45k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
3.45k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [17]>(scn::v3::scan_error::code&&, char const (&) [17])
Line
Count
Source
3624
56.2k
{
3625
56.2k
    return unexpected(scan_error{SCN_FWD(args)...});
3626
56.2k
}
3627
3628
namespace detail {
3629
template <typename T>
3630
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3631
}  // namespace detail
3632
3633
2.37M
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3634
2.37M
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3635
2.37M
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3636
3637
#define SCN_TRY_ASSIGN(init, x)                        \
3638
197M
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3638
37.8k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3638
52.0k
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3638
384
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3638
960
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3639
197M
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3640
2.37M
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3641
2.37M
    }                                                  \
3642
197M
    init = *SCN_FWD(SCN_TRY_TMP);
3643
172M
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3644
3645
#define SCN_TRY_ERR(name, x)          \
3646
    auto&& SCN_TRY_TMP = (x);         \
3647
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3648
        return SCN_TRY_TMP.error();   \
3649
    }                                 \
3650
    auto name = *SCN_FWD(SCN_TRY_TMP);
3651
3652
/////////////////////////////////////////////////////////////////
3653
// string_view utilities
3654
/////////////////////////////////////////////////////////////////
3655
3656
namespace detail {
3657
3658
template <typename T>
3659
struct is_string_view : std::false_type {};
3660
template <typename CharT, typename Traits>
3661
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3662
};
3663
3664
// workarounds for MSVC string_view debug iterators
3665
template <typename CharT>
3666
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3667
    typename std::basic_string_view<CharT>::iterator first,
3668
    typename std::basic_string_view<CharT>::iterator last)
3669
388M
{
3670
388M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3671
388M
                                          decltype(first), decltype(last)> &&
3672
388M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3673
388M
        return {first, last};
3674
388M
    }
3675
388M
    else {
3676
388M
        return {to_address(first), static_cast<size_t>(std::distance(
3677
388M
                                       to_address(first), to_address(last)))};
3678
388M
    }
3679
388M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3669
11.6M
{
3670
11.6M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3671
11.6M
                                          decltype(first), decltype(last)> &&
3672
11.6M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3673
11.6M
        return {first, last};
3674
11.6M
    }
3675
11.6M
    else {
3676
11.6M
        return {to_address(first), static_cast<size_t>(std::distance(
3677
11.6M
                                       to_address(first), to_address(last)))};
3678
11.6M
    }
3679
11.6M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3669
377M
{
3670
377M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3671
377M
                                          decltype(first), decltype(last)> &&
3672
377M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3673
377M
        return {first, last};
3674
377M
    }
3675
377M
    else {
3676
377M
        return {to_address(first), static_cast<size_t>(std::distance(
3677
377M
                                       to_address(first), to_address(last)))};
3678
377M
    }
3679
377M
}
3680
3681
template <typename CharT>
3682
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3683
    const CharT* first,
3684
    const CharT* last)
3685
20.7M
{
3686
20.7M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3687
20.7M
                                          const CharT*, const CharT*>) {
3688
20.7M
        return {first, last};
3689
20.7M
    }
3690
20.7M
    else {
3691
20.7M
        return {first, static_cast<size_t>(std::distance(first, last))};
3692
20.7M
    }
3693
20.7M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3685
3.70M
{
3686
3.70M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3687
3.70M
                                          const CharT*, const CharT*>) {
3688
3.70M
        return {first, last};
3689
3.70M
    }
3690
3.70M
    else {
3691
3.70M
        return {first, static_cast<size_t>(std::distance(first, last))};
3692
3.70M
    }
3693
3.70M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3685
17.0M
{
3686
17.0M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3687
17.0M
                                          const CharT*, const CharT*>) {
3688
17.0M
        return {first, last};
3689
17.0M
    }
3690
17.0M
    else {
3691
17.0M
        return {first, static_cast<size_t>(std::distance(first, last))};
3692
17.0M
    }
3693
17.0M
}
3694
3695
template <typename CharT>
3696
constexpr auto make_string_view_iterator(
3697
    std::basic_string_view<CharT> sv,
3698
    typename std::basic_string_view<CharT>::iterator it) ->
3699
    typename std::basic_string_view<CharT>::iterator
3700
12.3M
{
3701
12.3M
    if constexpr (std::is_constructible_v<
3702
12.3M
                      typename std::basic_string_view<CharT>::iterator,
3703
12.3M
                      decltype(it)> &&
3704
12.3M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3705
12.3M
        SCN_UNUSED(sv);
3706
12.3M
        return it;
3707
12.3M
    }
3708
12.3M
    else {
3709
12.3M
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3710
12.3M
    }
3711
12.3M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v3::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3700
12.3M
{
3701
12.3M
    if constexpr (std::is_constructible_v<
3702
12.3M
                      typename std::basic_string_view<CharT>::iterator,
3703
12.3M
                      decltype(it)> &&
3704
12.3M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3705
12.3M
        SCN_UNUSED(sv);
3706
12.3M
        return it;
3707
12.3M
    }
3708
12.3M
    else {
3709
12.3M
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3710
12.3M
    }
3711
12.3M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v3::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3700
334
{
3701
334
    if constexpr (std::is_constructible_v<
3702
334
                      typename std::basic_string_view<CharT>::iterator,
3703
334
                      decltype(it)> &&
3704
334
                  !SCN_MSVC_DEBUG_ITERATORS) {
3705
334
        SCN_UNUSED(sv);
3706
334
        return it;
3707
334
    }
3708
334
    else {
3709
334
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3710
334
    }
3711
334
}
3712
3713
template <typename CharT>
3714
constexpr auto make_string_view_iterator_from_pointer(
3715
    std::basic_string_view<CharT> sv,
3716
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
3717
{
3718
    if constexpr (std::is_constructible_v<
3719
                      typename std::basic_string_view<CharT>::iterator,
3720
                      const CharT*> &&
3721
                  !SCN_MSVC_DEBUG_ITERATORS) {
3722
        SCN_UNUSED(sv);
3723
        return ptr;
3724
    }
3725
    else {
3726
        return sv.begin() + std::distance(sv.data(), ptr);
3727
    }
3728
}
3729
3730
/////////////////////////////////////////////////////////////////
3731
// Lightweight Unicode facilities
3732
/////////////////////////////////////////////////////////////////
3733
3734
constexpr inline bool is_ascii_code_point(char32_t cp)
3735
0
{
3736
0
    return cp <= 0x7f;
3737
0
}
3738
3739
template <typename U8>
3740
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
3741
16.8M
{
3742
16.8M
    static_assert(sizeof(U8) == 1);
3743
3744
16.8M
    SCN_GCC_COMPAT_PUSH
3745
16.8M
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
3746
16.8M
    constexpr char lengths[] =
3747
16.8M
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
3748
16.8M
        "\1\1\1\1\1\1\1\1"
3749
16.8M
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
3750
                            // byte
3751
16.8M
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
3752
16.8M
        "\3\3"              // highest bits 1110 -> 3-byte cp
3753
16.8M
        "\4";               // highest bits 11110 -> 4-byte cp
3754
16.8M
    return lengths[static_cast<unsigned char>(ch) >> 3];
3755
16.8M
    SCN_GCC_COMPAT_POP
3756
16.8M
}
3757
3758
template <typename U16>
3759
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
3760
{
3761
    static_assert(sizeof(U16) == 2);
3762
3763
    const auto lead = static_cast<uint16_t>(0xffff & ch);
3764
    if (lead >= 0xd800 && lead <= 0xdbff) {
3765
        // high surrogate
3766
        return 2;
3767
    }
3768
    if (lead >= 0xdc00 && lead <= 0xdfff) {
3769
        // unpaired low surrogate
3770
        return 0;
3771
    }
3772
    return 1;
3773
}
3774
3775
template <typename U>
3776
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
3777
972M
{
3778
972M
    if constexpr (sizeof(U) == 1) {
3779
955M
        return utf8_code_point_length_by_starting_code_unit(ch);
3780
955M
    }
3781
955M
    else if constexpr (sizeof(U) == 2) {
3782
955M
        return utf16_code_point_length_by_starting_code_unit(ch);
3783
955M
    }
3784
955M
    else {
3785
        // utf-32
3786
955M
        static_assert(sizeof(U) == 4);
3787
955M
        SCN_UNUSED(ch);
3788
955M
        return 1;
3789
955M
    }
3790
972M
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
3777
16.8M
{
3778
16.8M
    if constexpr (sizeof(U) == 1) {
3779
16.8M
        return utf8_code_point_length_by_starting_code_unit(ch);
3780
16.8M
    }
3781
16.8M
    else if constexpr (sizeof(U) == 2) {
3782
16.8M
        return utf16_code_point_length_by_starting_code_unit(ch);
3783
16.8M
    }
3784
16.8M
    else {
3785
        // utf-32
3786
16.8M
        static_assert(sizeof(U) == 4);
3787
16.8M
        SCN_UNUSED(ch);
3788
16.8M
        return 1;
3789
16.8M
    }
3790
16.8M
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
3777
955M
{
3778
955M
    if constexpr (sizeof(U) == 1) {
3779
955M
        return utf8_code_point_length_by_starting_code_unit(ch);
3780
955M
    }
3781
955M
    else if constexpr (sizeof(U) == 2) {
3782
955M
        return utf16_code_point_length_by_starting_code_unit(ch);
3783
955M
    }
3784
955M
    else {
3785
        // utf-32
3786
955M
        static_assert(sizeof(U) == 4);
3787
955M
        SCN_UNUSED(ch);
3788
955M
        return 1;
3789
955M
    }
3790
955M
}
3791
3792
inline constexpr char32_t invalid_code_point = 0x110000;
3793
3794
inline constexpr char32_t decode_utf8_code_point_exhaustive(
3795
    std::string_view input)
3796
16.0M
{
3797
16.0M
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3798
3799
16.0M
    const auto is_trailing_code_unit = [](char ch) {
3800
1.51M
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3801
1.51M
    };
3802
3803
16.0M
    if (input.size() == 1) {
3804
14.9M
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
3805
2.10k
            SCN_UNLIKELY_ATTR
3806
2.10k
            return invalid_code_point;
3807
2.10k
        }
3808
14.9M
        return static_cast<char32_t>(input[0]);
3809
14.9M
    }
3810
3811
1.12M
    if (input.size() == 2) {
3812
716k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
3813
143
            SCN_UNLIKELY_ATTR
3814
143
            return invalid_code_point;
3815
143
        }
3816
716k
        if (!is_trailing_code_unit(input[1])) {
3817
22.0k
            SCN_UNLIKELY_ATTR
3818
22.0k
            return invalid_code_point;
3819
22.0k
        }
3820
3821
694k
        char32_t cp{};
3822
694k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3823
694k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3824
694k
        return cp;
3825
716k
    }
3826
3827
404k
    if (input.size() == 3) {
3828
336k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
3829
63
            SCN_UNLIKELY_ATTR
3830
63
            return invalid_code_point;
3831
63
        }
3832
336k
        if (!is_trailing_code_unit(input[1]) ||
3833
336k
            !is_trailing_code_unit(input[2])) {
3834
28.5k
            SCN_UNLIKELY_ATTR
3835
28.5k
            return invalid_code_point;
3836
28.5k
        }
3837
3838
308k
        char32_t cp{};
3839
308k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3840
308k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3841
308k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3842
308k
        return cp;
3843
336k
    }
3844
3845
67.3k
    if (input.size() == 4) {
3846
67.3k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
3847
0
            SCN_UNLIKELY_ATTR
3848
0
            return invalid_code_point;
3849
0
        }
3850
67.3k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
3851
12.4k
            SCN_UNLIKELY_ATTR
3852
12.4k
            return invalid_code_point;
3853
12.4k
        }
3854
54.8k
        if (!is_trailing_code_unit(input[1]) ||
3855
54.8k
            !is_trailing_code_unit(input[2]) ||
3856
54.8k
            !is_trailing_code_unit(input[3])) {
3857
9.26k
            SCN_UNLIKELY_ATTR
3858
9.26k
            return invalid_code_point;
3859
9.26k
        }
3860
3861
45.5k
        char32_t cp{};
3862
45.5k
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3863
45.5k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3864
45.5k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3865
45.5k
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3866
45.5k
        return cp;
3867
54.8k
    }
3868
3869
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3870
    // gcc 7 thinks we'll get here, even when we won't
3871
0
    SCN_EXPECT(false);
3872
0
#endif
3873
0
    SCN_UNREACHABLE;
3874
0
}
3875
3876
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
3877
    std::string_view input)
3878
271k
{
3879
271k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3880
3881
271k
    const auto is_trailing_code_unit = [](char ch) {
3882
25.3k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3883
25.3k
    };
3884
3885
271k
    if (input.size() == 1) {
3886
248k
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
3887
248k
        return static_cast<char32_t>(input[0]);
3888
248k
    }
3889
3890
22.8k
    if (input.size() == 2) {
3891
21.0k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
3892
21.0k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3893
3894
21.0k
        char32_t cp{};
3895
21.0k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3896
21.0k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3897
21.0k
        return cp;
3898
21.0k
    }
3899
3900
1.82k
    if (input.size() == 3) {
3901
1.12k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
3902
1.12k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3903
1.12k
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3904
3905
1.12k
        char32_t cp{};
3906
1.12k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3907
1.12k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3908
1.12k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3909
1.12k
        return cp;
3910
1.12k
    }
3911
3912
702
    if (input.size() == 4) {
3913
702
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
3914
702
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
3915
702
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3916
702
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3917
702
        SCN_EXPECT(is_trailing_code_unit(input[3]));
3918
3919
702
        char32_t cp{};
3920
702
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3921
702
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3922
702
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3923
702
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3924
702
        return cp;
3925
702
    }
3926
3927
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3928
    // gcc 7 thinks we'll get here, even when we won't
3929
0
    SCN_EXPECT(false);
3930
0
#endif
3931
0
    SCN_UNREACHABLE;
3932
0
}
3933
3934
template <typename CharT>
3935
inline constexpr char32_t decode_utf16_code_point_exhaustive(
3936
    std::basic_string_view<CharT> input)
3937
{
3938
    static_assert(sizeof(CharT) == 2);
3939
3940
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3941
3942
    if (input.size() == 1) {
3943
        return static_cast<char32_t>(input[0]);
3944
    }
3945
3946
    const auto lead = static_cast<uint32_t>(input[0]);
3947
    const auto trail = static_cast<uint32_t>(input[1]);
3948
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
3949
        SCN_UNLIKELY_ATTR
3950
        return invalid_code_point;
3951
    }
3952
3953
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
3954
    return static_cast<char32_t>(cp + 0x10000);
3955
}
3956
3957
template <typename CharT>
3958
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
3959
    std::basic_string_view<CharT> input)
3960
{
3961
    static_assert(sizeof(CharT) == 2);
3962
3963
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3964
3965
    if (input.size() == 1) {
3966
        return static_cast<char32_t>(input[0]);
3967
    }
3968
3969
    const auto lead = static_cast<uint32_t>(input[0]);
3970
    const auto trail = static_cast<uint32_t>(input[1]);
3971
    SCN_EXPECT(lead >= 0xd800);
3972
    SCN_EXPECT(lead <= 0xdbff);
3973
    SCN_EXPECT(trail >= 0xdc00);
3974
    SCN_EXPECT(trail <= 0xdfff);
3975
3976
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
3977
    return static_cast<char32_t>(cp + 0x10000);
3978
}
3979
3980
template <typename CharT>
3981
inline constexpr char32_t decode_code_point_exhaustive(
3982
    std::basic_string_view<CharT> input)
3983
971M
{
3984
971M
    if constexpr (sizeof(CharT) == 1) {
3985
955M
        return decode_utf8_code_point_exhaustive(input);
3986
955M
    }
3987
955M
    else if constexpr (sizeof(CharT) == 2) {
3988
955M
        return decode_utf16_code_point_exhaustive(input);
3989
955M
    }
3990
955M
    else {
3991
955M
        SCN_EXPECT(input.size() == 1);
3992
955M
        auto cp = static_cast<char32_t>(input.front());
3993
955M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
3994
1.44M
            return invalid_code_point;
3995
1.44M
        }
3996
954M
        return cp;
3997
955M
    }
3998
971M
}
char32_t scn::v3::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3983
16.0M
{
3984
16.0M
    if constexpr (sizeof(CharT) == 1) {
3985
16.0M
        return decode_utf8_code_point_exhaustive(input);
3986
16.0M
    }
3987
16.0M
    else if constexpr (sizeof(CharT) == 2) {
3988
16.0M
        return decode_utf16_code_point_exhaustive(input);
3989
16.0M
    }
3990
16.0M
    else {
3991
16.0M
        SCN_EXPECT(input.size() == 1);
3992
16.0M
        auto cp = static_cast<char32_t>(input.front());
3993
16.0M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
3994
16.0M
            return invalid_code_point;
3995
16.0M
        }
3996
16.0M
        return cp;
3997
16.0M
    }
3998
16.0M
}
char32_t scn::v3::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
3983
955M
{
3984
955M
    if constexpr (sizeof(CharT) == 1) {
3985
955M
        return decode_utf8_code_point_exhaustive(input);
3986
955M
    }
3987
955M
    else if constexpr (sizeof(CharT) == 2) {
3988
955M
        return decode_utf16_code_point_exhaustive(input);
3989
955M
    }
3990
955M
    else {
3991
955M
        SCN_EXPECT(input.size() == 1);
3992
955M
        auto cp = static_cast<char32_t>(input.front());
3993
955M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
3994
1.44M
            return invalid_code_point;
3995
1.44M
        }
3996
954M
        return cp;
3997
955M
    }
3998
955M
}
3999
4000
template <typename CharT>
4001
inline constexpr char32_t decode_code_point_exhaustive_valid(
4002
    std::basic_string_view<CharT> input)
4003
271k
{
4004
271k
    if constexpr (sizeof(CharT) == 1) {
4005
0
        return decode_utf8_code_point_exhaustive_valid(input);
4006
0
    }
4007
0
    else if constexpr (sizeof(CharT) == 2) {
4008
0
        return decode_utf16_code_point_exhaustive_valid(input);
4009
0
    }
4010
0
    else {
4011
0
        SCN_EXPECT(input.size() == 1);
4012
0
        return static_cast<char32_t>(input.front());
4013
0
    }
4014
271k
}
char32_t scn::v3::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4003
271k
{
4004
271k
    if constexpr (sizeof(CharT) == 1) {
4005
271k
        return decode_utf8_code_point_exhaustive_valid(input);
4006
271k
    }
4007
271k
    else if constexpr (sizeof(CharT) == 2) {
4008
271k
        return decode_utf16_code_point_exhaustive_valid(input);
4009
271k
    }
4010
271k
    else {
4011
271k
        SCN_EXPECT(input.size() == 1);
4012
271k
        return static_cast<char32_t>(input.front());
4013
271k
    }
4014
271k
}
Unexecuted instantiation: char32_t scn::v3::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4015
4016
}  // namespace detail
4017
4018
/////////////////////////////////////////////////////////////////
4019
// scan_buffer
4020
/////////////////////////////////////////////////////////////////
4021
4022
namespace detail {
4023
template <typename CharT>
4024
class basic_scan_buffer {
4025
public:
4026
    class forward_iterator;
4027
4028
    using char_type = CharT;
4029
    using range_type =
4030
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4031
4032
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4033
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4034
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4035
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4036
19.8M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4036
2.53M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4036
17.3M
    virtual ~basic_scan_buffer() = default;
4037
4038
    virtual bool fill() = 0;
4039
4040
    virtual void sync(std::ptrdiff_t position)
4041
19.8M
    {
4042
19.8M
        SCN_UNUSED(position);
4043
19.8M
    }
scn::v3::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4041
2.53M
    {
4042
2.53M
        SCN_UNUSED(position);
4043
2.53M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4041
17.3M
    {
4042
17.3M
        SCN_UNUSED(position);
4043
17.3M
    }
4044
4045
    void sync_all()
4046
766k
    {
4047
766k
        sync(0);
4048
766k
    }
scn::v3::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4046
255k
    {
4047
255k
        sync(0);
4048
255k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4046
510k
    {
4047
510k
        sync(0);
4048
510k
    }
4049
4050
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4051
197G
    {
4052
197G
        return m_putback_buffer.size() + m_current_view.size();
4053
197G
    }
scn::v3::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4051
158M
    {
4052
158M
        return m_putback_buffer.size() + m_current_view.size();
4053
158M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4051
197G
    {
4052
197G
        return m_putback_buffer.size() + m_current_view.size();
4053
197G
    }
4054
4055
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4056
0
    {
4057
0
        return m_current_view;
4058
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::current_view() const
4059
4060
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4061
0
    {
4062
0
        return m_putback_buffer;
4063
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4064
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4065
    {
4066
        return m_putback_buffer;
4067
    }
4068
4069
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4070
        std::ptrdiff_t pos) const
4071
59.6M
    {
4072
59.6M
        if (SCN_UNLIKELY(
4073
59.6M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4074
36.3M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4075
36.3M
        }
4076
23.2M
        const auto start = pos - m_putback_buffer.size();
4077
23.2M
        SCN_EXPECT(start <= m_current_view.size());
4078
23.2M
        return m_current_view.substr(start);
4079
23.2M
    }
scn::v3::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4071
8.72M
    {
4072
8.72M
        if (SCN_UNLIKELY(
4073
8.72M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4074
2.66M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4075
2.66M
        }
4076
6.05M
        const auto start = pos - m_putback_buffer.size();
4077
6.05M
        SCN_EXPECT(start <= m_current_view.size());
4078
6.05M
        return m_current_view.substr(start);
4079
6.05M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
Line
Count
Source
4071
50.9M
    {
4072
50.9M
        if (SCN_UNLIKELY(
4073
50.9M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4074
33.6M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4075
33.6M
        }
4076
17.2M
        const auto start = pos - m_putback_buffer.size();
4077
17.2M
        SCN_EXPECT(start <= m_current_view.size());
4078
17.2M
        return m_current_view.substr(start);
4079
17.2M
    }
4080
4081
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4082
524M
    {
4083
524M
        if (SCN_UNLIKELY(
4084
524M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4085
237M
            return m_putback_buffer[pos];
4086
237M
        }
4087
286M
        const auto start = pos - m_putback_buffer.size();
4088
286M
        SCN_EXPECT(start < m_current_view.size());
4089
286M
        return m_current_view[start];
4090
286M
    }
scn::v3::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4082
40.7M
    {
4083
40.7M
        if (SCN_UNLIKELY(
4084
40.7M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4085
25.8M
            return m_putback_buffer[pos];
4086
25.8M
        }
4087
14.8M
        const auto start = pos - m_putback_buffer.size();
4088
14.8M
        SCN_EXPECT(start < m_current_view.size());
4089
14.8M
        return m_current_view[start];
4090
14.8M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4082
483M
    {
4083
483M
        if (SCN_UNLIKELY(
4084
483M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4085
211M
            return m_putback_buffer[pos];
4086
211M
        }
4087
271M
        const auto start = pos - m_putback_buffer.size();
4088
271M
        SCN_EXPECT(start < m_current_view.size());
4089
271M
        return m_current_view[start];
4090
271M
    }
4091
4092
    SCN_NODISCARD bool is_contiguous() const
4093
59.6M
    {
4094
59.6M
        return m_is_contiguous;
4095
59.6M
    }
scn::v3::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4093
7.60M
    {
4094
7.60M
        return m_is_contiguous;
4095
7.60M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4093
52.0M
    {
4094
52.0M
        return m_is_contiguous;
4095
52.0M
    }
4096
4097
    SCN_NODISCARD auto get_contiguous() const
4098
0
    {
4099
0
        SCN_EXPECT(is_contiguous());
4100
0
        return ranges::subrange<const CharT*>{
4101
0
            current_view().data(),
4102
0
            current_view().data() + current_view().size()};
4103
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4104
4105
    SCN_NODISCARD range_type get();
4106
4107
protected:
4108
    friend class forward_iterator;
4109
4110
    struct contiguous_tag {};
4111
    struct non_contiguous_tag {};
4112
4113
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4114
        : m_current_view(sv), m_is_contiguous(true)
4115
0
    {
4116
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4117
4118
    basic_scan_buffer(non_contiguous_tag,
4119
                      std::basic_string_view<char_type> sv = {})
4120
        : m_current_view(sv), m_is_contiguous(false)
4121
19.8M
    {
4122
19.8M
    }
scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4121
2.53M
    {
4122
2.53M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4121
17.3M
    {
4122
17.3M
    }
4123
4124
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4125
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4126
    {
4127
    }
4128
4129
    std::basic_string_view<char_type> m_current_view{};
4130
    std::basic_string<char_type> m_putback_buffer{};
4131
    bool m_is_contiguous{false};
4132
};
4133
4134
template <typename CharT>
4135
class basic_scan_buffer<CharT>::forward_iterator {
4136
public:
4137
    using value_type = CharT;
4138
    using reference = CharT;
4139
    using pointer = CharT*;
4140
    using difference_type = std::ptrdiff_t;
4141
    using iterator_category = std::forward_iterator_tag;
4142
4143
    forward_iterator() = default;
4144
4145
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4146
        : m_begin(parent), m_end(nullptr), m_position(pos)
4147
19.8M
    {
4148
19.8M
        SCN_EXPECT(parent);
4149
19.8M
        SCN_EXPECT(!parent->is_contiguous());
4150
19.8M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4147
2.53M
    {
4148
2.53M
        SCN_EXPECT(parent);
4149
2.53M
        SCN_EXPECT(!parent->is_contiguous());
4150
2.53M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4147
17.3M
    {
4148
17.3M
        SCN_EXPECT(parent);
4149
17.3M
        SCN_EXPECT(!parent->is_contiguous());
4150
17.3M
    }
4151
4152
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4153
        : m_begin(const_cast<CharT*>(view.data())),
4154
          m_end(const_cast<CharT*>(view.data() + view.size())),
4155
          m_position(pos)
4156
0
    {
4157
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4158
4159
    std::ptrdiff_t position() const
4160
75.2M
    {
4161
75.2M
        return m_position;
4162
75.2M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4160
13.9M
    {
4161
13.9M
        return m_position;
4162
13.9M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4160
61.3M
    {
4161
61.3M
        return m_position;
4162
61.3M
    }
4163
4164
    bool stores_parent() const
4165
396G
    {
4166
396G
        return m_end == nullptr;
4167
396G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4165
400M
    {
4166
400M
        return m_end == nullptr;
4167
400M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4165
396G
    {
4166
396G
        return m_end == nullptr;
4167
396G
    }
4168
4169
    basic_scan_buffer<CharT>* parent()
4170
2.50M
    {
4171
2.50M
        SCN_EXPECT(stores_parent());
4172
2.50M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4173
2.50M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent()
Line
Count
Source
4170
2.21M
    {
4171
2.21M
        SCN_EXPECT(stores_parent());
4172
2.21M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4173
2.21M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
Line
Count
Source
4170
287k
    {
4171
287k
        SCN_EXPECT(stores_parent());
4172
287k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4173
287k
    }
4174
    const basic_scan_buffer<CharT>* parent() const
4175
198G
    {
4176
198G
        SCN_EXPECT(stores_parent());
4177
198G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4178
198G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4175
221M
    {
4176
221M
        SCN_EXPECT(stores_parent());
4177
221M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4178
221M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4175
198G
    {
4176
198G
        SCN_EXPECT(stores_parent());
4177
198G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4178
198G
    }
4179
4180
    std::basic_string_view<CharT> contiguous_segment() const
4181
59.6M
    {
4182
59.6M
        if (!stores_parent()) {
4183
0
            return make_string_view_from_pointers(
4184
0
                static_cast<const CharT*>(m_begin) + position(),
4185
0
                static_cast<const CharT*>(m_end));
4186
0
        }
4187
59.6M
        return parent()->get_segment_starting_at(position());
4188
59.6M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4181
8.72M
    {
4182
8.72M
        if (!stores_parent()) {
4183
0
            return make_string_view_from_pointers(
4184
0
                static_cast<const CharT*>(m_begin) + position(),
4185
0
                static_cast<const CharT*>(m_end));
4186
0
        }
4187
8.72M
        return parent()->get_segment_starting_at(position());
4188
8.72M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4181
50.9M
    {
4182
50.9M
        if (!stores_parent()) {
4183
0
            return make_string_view_from_pointers(
4184
0
                static_cast<const CharT*>(m_begin) + position(),
4185
0
                static_cast<const CharT*>(m_end));
4186
0
        }
4187
50.9M
        return parent()->get_segment_starting_at(position());
4188
50.9M
    }
4189
    auto to_contiguous_segment_iterator() const
4190
    {
4191
        return contiguous_segment().data();
4192
    }
4193
4194
    forward_iterator& operator++()
4195
196G
    {
4196
196G
        ++m_position;
4197
196G
        (void)read_at_position();
4198
196G
        return *this;
4199
196G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4195
50.8M
    {
4196
50.8M
        ++m_position;
4197
50.8M
        (void)read_at_position();
4198
50.8M
        return *this;
4199
50.8M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4195
196G
    {
4196
196G
        ++m_position;
4197
196G
        (void)read_at_position();
4198
196G
        return *this;
4199
196G
    }
4200
4201
    forward_iterator operator++(int)
4202
    {
4203
        auto copy = *this;
4204
        operator++();
4205
        return copy;
4206
    }
4207
4208
    CharT operator*() const
4209
524M
    {
4210
524M
        SCN_EXPECT(m_begin);
4211
4212
524M
        if (!stores_parent()) {
4213
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4214
0
            SCN_EXPECT(ptr != m_end);
4215
0
            return *ptr;
4216
0
        }
4217
4218
524M
        auto res = read_at_position();
4219
524M
        SCN_EXPECT(res);
4220
524M
        return parent()->get_character_at(m_position);
4221
524M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4209
40.7M
    {
4210
40.7M
        SCN_EXPECT(m_begin);
4211
4212
40.7M
        if (!stores_parent()) {
4213
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4214
0
            SCN_EXPECT(ptr != m_end);
4215
0
            return *ptr;
4216
0
        }
4217
4218
40.7M
        auto res = read_at_position();
4219
40.7M
        SCN_EXPECT(res);
4220
40.7M
        return parent()->get_character_at(m_position);
4221
40.7M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4209
483M
    {
4210
483M
        SCN_EXPECT(m_begin);
4211
4212
483M
        if (!stores_parent()) {
4213
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4214
0
            SCN_EXPECT(ptr != m_end);
4215
0
            return *ptr;
4216
0
        }
4217
4218
483M
        auto res = read_at_position();
4219
483M
        SCN_EXPECT(res);
4220
483M
        return parent()->get_character_at(m_position);
4221
483M
    }
4222
4223
    forward_iterator& batch_advance(std::ptrdiff_t n)
4224
165k
    {
4225
165k
        SCN_EXPECT(n >= 0);
4226
165k
        m_position += n;
4227
165k
        return *this;
4228
165k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Line
Count
Source
4224
165k
    {
4225
165k
        SCN_EXPECT(n >= 0);
4226
165k
        m_position += n;
4227
165k
        return *this;
4228
165k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
Line
Count
Source
4224
260
    {
4225
260
        SCN_EXPECT(n >= 0);
4226
260
        m_position += n;
4227
260
        return *this;
4228
260
    }
4229
4230
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4231
0
    {
4232
0
        SCN_EXPECT(i >= m_position);
4233
0
        m_position = i;
4234
0
        return *this;
4235
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4236
4237
    friend bool operator==(const forward_iterator& lhs,
4238
                           const forward_iterator& rhs)
4239
196G
    {
4240
196G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4241
196G
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4239
29.7M
    {
4240
29.7M
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4241
29.7M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4239
196G
    {
4240
196G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4241
196G
    }
4242
    friend bool operator!=(const forward_iterator& lhs,
4243
                           const forward_iterator& rhs)
4244
196G
    {
4245
196G
        return !(lhs == rhs);
4246
196G
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4244
27.7M
    {
4245
27.7M
        return !(lhs == rhs);
4246
27.7M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4244
196G
    {
4245
196G
        return !(lhs == rhs);
4246
196G
    }
4247
4248
    friend bool operator==(const forward_iterator& x,
4249
                           ranges::default_sentinel_t)
4250
236M
    {
4251
236M
        return x.is_at_end();
4252
236M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4250
15.0M
    {
4251
15.0M
        return x.is_at_end();
4252
15.0M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4250
220M
    {
4251
220M
        return x.is_at_end();
4252
220M
    }
4253
    friend bool operator==(ranges::default_sentinel_t,
4254
                           const forward_iterator& x)
4255
    {
4256
        return x.is_at_end();
4257
    }
4258
4259
    friend bool operator!=(const forward_iterator& x,
4260
                           ranges::default_sentinel_t)
4261
313M
    {
4262
313M
        return !x.is_at_end();
4263
313M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4261
18.0M
    {
4262
18.0M
        return !x.is_at_end();
4263
18.0M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4261
295M
    {
4262
295M
        return !x.is_at_end();
4263
295M
    }
4264
    friend bool operator!=(ranges::default_sentinel_t,
4265
                           const forward_iterator& x)
4266
    {
4267
        return !x.is_at_end();
4268
    }
4269
4270
private:
4271
    friend class basic_scan_buffer<CharT>;
4272
4273
    SCN_NODISCARD bool read_at_position() const
4274
197G
    {
4275
197G
        SCN_EXPECT(m_begin);
4276
4277
197G
        if (!stores_parent()) {
4278
0
            return true;
4279
0
        }
4280
4281
197G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4282
197G
            return true;
4283
197G
        }
4284
4285
609M
        while (m_position >= parent()->chars_available()) {
4286
305M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4287
494k
                return false;
4288
494k
            }
4289
305M
        }
4290
304M
        return true;
4291
305M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4274
124M
    {
4275
124M
        SCN_EXPECT(m_begin);
4276
4277
124M
        if (!stores_parent()) {
4278
0
            return true;
4279
0
        }
4280
4281
124M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4282
108M
            return true;
4283
108M
        }
4284
4285
31.6M
        while (m_position >= parent()->chars_available()) {
4286
15.9M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4287
310k
                return false;
4288
310k
            }
4289
15.9M
        }
4290
15.6M
        return true;
4291
15.9M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4274
197G
    {
4275
197G
        SCN_EXPECT(m_begin);
4276
4277
197G
        if (!stores_parent()) {
4278
0
            return true;
4279
0
        }
4280
4281
197G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4282
196G
            return true;
4283
196G
        }
4284
4285
577M
        while (m_position >= parent()->chars_available()) {
4286
289M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4287
184k
                return false;
4288
184k
            }
4289
289M
        }
4290
288M
        return true;
4291
289M
    }
4292
4293
    SCN_NODISCARD bool is_at_end() const
4294
549M
    {
4295
549M
        if (m_end) {
4296
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4297
0
        }
4298
549M
        if (!m_begin) {
4299
0
            return true;
4300
0
        }
4301
549M
        return !read_at_position();
4302
549M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4294
33.1M
    {
4295
33.1M
        if (m_end) {
4296
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4297
0
        }
4298
33.1M
        if (!m_begin) {
4299
0
            return true;
4300
0
        }
4301
33.1M
        return !read_at_position();
4302
33.1M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4294
516M
    {
4295
516M
        if (m_end) {
4296
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4297
0
        }
4298
516M
        if (!m_begin) {
4299
0
            return true;
4300
0
        }
4301
516M
        return !read_at_position();
4302
516M
    }
4303
4304
    // If m_end is null, m_begin points to the parent scan_buffer
4305
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4306
    // the entire range)
4307
    mutable void* m_begin{nullptr};
4308
    mutable void* m_end{nullptr};
4309
    std::ptrdiff_t m_position{0};
4310
};
4311
4312
template <typename CharT>
4313
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4314
19.8M
{
4315
19.8M
    if (is_contiguous()) {
4316
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4317
0
                                ranges::default_sentinel};
4318
0
    }
4319
19.8M
    return ranges::subrange{forward_iterator{this, 0},
4320
19.8M
                            ranges::default_sentinel};
4321
19.8M
}
scn::v3::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4314
2.53M
{
4315
2.53M
    if (is_contiguous()) {
4316
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4317
0
                                ranges::default_sentinel};
4318
0
    }
4319
2.53M
    return ranges::subrange{forward_iterator{this, 0},
4320
2.53M
                            ranges::default_sentinel};
4321
2.53M
}
scn::v3::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4314
17.3M
{
4315
17.3M
    if (is_contiguous()) {
4316
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4317
0
                                ranges::default_sentinel};
4318
0
    }
4319
17.3M
    return ranges::subrange{forward_iterator{this, 0},
4320
17.3M
                            ranges::default_sentinel};
4321
17.3M
}
4322
4323
static_assert(ranges::forward_range<scan_buffer::range_type>);
4324
4325
template <typename CharT>
4326
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4327
    using base = basic_scan_buffer<CharT>;
4328
4329
public:
4330
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4331
        : base(typename base::contiguous_tag{}, sv)
4332
0
    {
4333
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4334
4335
    bool fill() override
4336
0
    {
4337
0
        SCN_EXPECT(false);
4338
0
        SCN_UNREACHABLE;
4339
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::fill()
4340
};
4341
4342
template <typename CharT>
4343
basic_scan_string_buffer(std::basic_string_view<CharT>)
4344
    -> basic_scan_string_buffer<CharT>;
4345
4346
template <typename CharT>
4347
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4348
    using base = basic_scan_buffer<CharT>;
4349
4350
protected:
4351
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4352
19.8M
    {
4353
19.8M
    }
scn::v3::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4352
2.53M
    {
4353
2.53M
    }
scn::v3::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4352
17.3M
    {
4353
17.3M
    }
4354
};
4355
4356
template <typename Range>
4357
class basic_scan_forward_buffer_impl
4358
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4359
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4360
4361
    using _char_type = detail::char_t<Range>;
4362
    using base = basic_scan_forward_buffer_base<_char_type>;
4363
4364
public:
4365
    using char_type = _char_type;
4366
    using range_type = Range;
4367
    using iterator = ranges::iterator_t<const Range>;
4368
    using sentinel = ranges::sentinel_t<const Range>;
4369
4370
    template <
4371
        typename R,
4372
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4373
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4374
    basic_scan_forward_buffer_impl(R&& r)
4375
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4376
          m_cursor(ranges::begin(*m_range))
4377
19.8M
    {
4378
19.8M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4377
2.53M
    {
4378
2.53M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4377
17.3M
    {
4378
17.3M
    }
4379
4380
    bool fill() override
4381
305M
    {
4382
305M
        if (m_cursor == ranges::end(*m_range)) {
4383
494k
            return false;
4384
494k
        }
4385
304M
        if (!this->m_current_view.empty()) {
4386
284M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4387
284M
                                          this->m_current_view.begin(),
4388
284M
                                          this->m_current_view.end());
4389
284M
        }
4390
304M
        m_latest = *m_cursor;
4391
304M
        ++m_cursor;
4392
304M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4393
304M
        return true;
4394
305M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4381
15.9M
    {
4382
15.9M
        if (m_cursor == ranges::end(*m_range)) {
4383
310k
            return false;
4384
310k
        }
4385
15.6M
        if (!this->m_current_view.empty()) {
4386
13.2M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4387
13.2M
                                          this->m_current_view.begin(),
4388
13.2M
                                          this->m_current_view.end());
4389
13.2M
        }
4390
15.6M
        m_latest = *m_cursor;
4391
15.6M
        ++m_cursor;
4392
15.6M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4393
15.6M
        return true;
4394
15.9M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4381
289M
    {
4382
289M
        if (m_cursor == ranges::end(*m_range)) {
4383
184k
            return false;
4384
184k
        }
4385
288M
        if (!this->m_current_view.empty()) {
4386
271M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4387
271M
                                          this->m_current_view.begin(),
4388
271M
                                          this->m_current_view.end());
4389
271M
        }
4390
288M
        m_latest = *m_cursor;
4391
288M
        ++m_cursor;
4392
288M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4393
288M
        return true;
4394
289M
    }
4395
4396
private:
4397
    const Range* m_range;
4398
    iterator m_cursor;
4399
    char_type m_latest{};
4400
};
4401
4402
template <typename R>
4403
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4404
4405
class scan_file_buffer : public basic_scan_buffer<char> {
4406
    using base = basic_scan_buffer<char>;
4407
4408
public:
4409
    scan_file_buffer(std::FILE* file);
4410
    ~scan_file_buffer();
4411
4412
    bool fill() override;
4413
    void sync(std::ptrdiff_t position) override;
4414
4415
private:
4416
    std::FILE* m_file;
4417
    std::optional<char_type> m_latest{std::nullopt};
4418
};
4419
4420
template <typename CharT>
4421
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
4422
    using base = basic_scan_buffer<CharT>;
4423
4424
public:
4425
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
4426
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
4427
          m_other(&other),
4428
          m_starting_pos(starting_pos)
4429
    {
4430
        this->m_current_view = other.get_segment_starting_at(starting_pos);
4431
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
4432
                                    this->m_current_view.end();
4433
    }
4434
4435
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
4436
        : base(true, view), m_other(nullptr)
4437
    {
4438
    }
4439
4440
    bool fill() override
4441
0
    {
4442
0
        if (!m_other) {
4443
0
            return false;
4444
0
        }
4445
0
        SCN_EXPECT(m_starting_pos >= 0);
4446
0
4447
0
        if (m_fill_needs_to_propagate) {
4448
0
            auto ret = m_other->fill();
4449
0
            this->m_current_view = m_other->current_view();
4450
0
            this->m_putback_buffer =
4451
0
                m_other->putback_buffer().substr(m_starting_pos);
4452
0
            return ret;
4453
0
        }
4454
0
4455
0
        m_fill_needs_to_propagate = true;
4456
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
4457
0
        this->m_current_view = m_other->current_view();
4458
0
        return true;
4459
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<wchar_t>::fill()
4460
4461
private:
4462
    base* m_other;
4463
    std::ptrdiff_t m_starting_pos{-1};
4464
    bool m_fill_needs_to_propagate{false};
4465
};
4466
4467
template <typename CharT>
4468
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
4469
    -> basic_scan_ref_buffer<CharT>;
4470
4471
template <typename CharT>
4472
basic_scan_ref_buffer(std::basic_string_view<CharT>)
4473
    -> basic_scan_ref_buffer<CharT>;
4474
4475
template <typename Range>
4476
auto make_string_scan_buffer(const Range& range)
4477
{
4478
    return basic_scan_string_buffer(
4479
        std::basic_string_view{ranges::data(range), ranges::size(range)});
4480
}
4481
4482
template <typename Range>
4483
auto make_forward_scan_buffer(const Range& range)
4484
19.8M
{
4485
19.8M
    return basic_scan_forward_buffer_impl(range);
4486
19.8M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4484
2.53M
{
4485
2.53M
    return basic_scan_forward_buffer_impl(range);
4486
2.53M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4484
17.3M
{
4485
17.3M
    return basic_scan_forward_buffer_impl(range);
4486
17.3M
}
4487
4488
inline auto make_file_scan_buffer(std::FILE* file)
4489
0
{
4490
0
    return scan_file_buffer(file);
4491
0
}
4492
}  // namespace detail
4493
4494
/////////////////////////////////////////////////////////////////
4495
// make_scan_buffer
4496
/////////////////////////////////////////////////////////////////
4497
4498
/**
4499
 * \defgroup scannable Scannable sources
4500
 *
4501
 * \brief Description of the `scannable_range` and `scannable_source`
4502
 * concepts.
4503
 *
4504
 * A range is considered scannable, if it models at least `forward_range`,
4505
 * and its character type is correct (its value type is the same as the one
4506
 * of the format string).
4507
 * If the range additionally models `contiguous_range` and `sized_range`,
4508
 * additional optimizations are enabled.
4509
 *
4510
 * \code{.cpp}
4511
 * // Exposition only
4512
 * template <typename Range, typename CharT>
4513
 * concept scannable_range =
4514
 *     ranges::forward_range<Range> &&
4515
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
4516
 * \endcode
4517
 *
4518
 * Additionally, files (`std::FILE*`) can be scanned from.
4519
 * Files are always considered to be narrow (`char`-oriented).
4520
 * Thus, the entire concept is:
4521
 *
4522
 * \code{.cpp}
4523
 * // Exposition only
4524
 * template <typename Source, typename CharT>
4525
 * concept scannable_source =
4526
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
4527
 *    std::same_as<CharT, char>) ||
4528
 *   scannable_range<Source, CharT>;
4529
 * \endcode
4530
 */
4531
4532
/**
4533
 * Tag type to indicate an invalid range given to `scn::scan`
4534
 *
4535
 * \ingroup scannable
4536
 */
4537
struct invalid_input_range {};
4538
4539
struct invalid_char_type : invalid_input_range {};
4540
struct custom_char_traits : invalid_input_range {};
4541
struct file_marker_found : invalid_input_range {};
4542
struct insufficient_range : invalid_input_range {};
4543
4544
namespace detail {
4545
template <typename CharT>
4546
inline constexpr bool is_valid_char_type =
4547
    std::is_same_v<std::remove_const_t<CharT>, char> ||
4548
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
4549
4550
namespace _make_scan_buffer {
4551
// buffer -> ref_buffer
4552
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
4553
    -> basic_scan_ref_buffer<char>
4554
0
{
4555
0
    if (!r.begin().stores_parent()) {
4556
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4557
0
    }
4558
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4559
0
}
4560
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
4561
    -> basic_scan_ref_buffer<wchar_t>
4562
0
{
4563
0
    if (!r.begin().stores_parent()) {
4564
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4565
0
    }
4566
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4567
0
}
4568
4569
// string_view -> string_buffer
4570
template <typename CharT>
4571
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
4572
244k
{
4573
244k
    if constexpr (is_valid_char_type<CharT>) {
4574
244k
        return r;
4575
        // return make_string_scan_buffer(r);
4576
244k
    }
4577
244k
    else {
4578
244k
        return invalid_char_type{};
4579
244k
    }
4580
244k
}
auto scn::v3::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4572
81.3k
{
4573
81.3k
    if constexpr (is_valid_char_type<CharT>) {
4574
81.3k
        return r;
4575
        // return make_string_scan_buffer(r);
4576
81.3k
    }
4577
81.3k
    else {
4578
81.3k
        return invalid_char_type{};
4579
81.3k
    }
4580
81.3k
}
auto scn::v3::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4572
162k
{
4573
162k
    if constexpr (is_valid_char_type<CharT>) {
4574
162k
        return r;
4575
        // return make_string_scan_buffer(r);
4576
162k
    }
4577
162k
    else {
4578
162k
        return invalid_char_type{};
4579
162k
    }
4580
162k
}
4581
4582
// string& -> string_buffer
4583
template <typename CharT, typename Traits, typename Allocator>
4584
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
4585
          priority_tag<3>) noexcept
4586
{
4587
    if constexpr (!is_valid_char_type<CharT>) {
4588
        return invalid_char_type{};
4589
    }
4590
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
4591
        return custom_char_traits{};
4592
    }
4593
    else {
4594
        return std::basic_string_view<CharT>{r};
4595
    }
4596
}
4597
4598
// String literals:
4599
// CharT(&)[] -> string_buffer
4600
template <typename CharT,
4601
          std::size_t N,
4602
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
4603
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
4604
{
4605
    return std::basic_string_view<CharT>{r, N - 1};
4606
}
4607
4608
// FILE* -> file_buffer
4609
inline auto impl(std::FILE* file, priority_tag<3>)
4610
0
{
4611
0
    return make_file_scan_buffer(file);
4612
0
}
4613
4614
// contiguous + sized -> string_buffer
4615
template <typename Range,
4616
          std::enable_if_t<ranges::contiguous_range<Range> &&
4617
                           ranges::sized_range<Range>>* = nullptr>
4618
auto impl(const Range& r, priority_tag<2>)
4619
36.9M
{
4620
36.9M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4621
36.9M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4622
36.9M
    }
4623
36.9M
    else {
4624
36.9M
        return invalid_char_type{};
4625
36.9M
    }
4626
36.9M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
4619
2.68M
{
4620
2.68M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4621
2.68M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4622
2.68M
    }
4623
2.68M
    else {
4624
2.68M
        return invalid_char_type{};
4625
2.68M
    }
4626
2.68M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
4619
34.2M
{
4620
34.2M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4621
34.2M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4622
34.2M
    }
4623
34.2M
    else {
4624
34.2M
        return invalid_char_type{};
4625
34.2M
    }
4626
34.2M
}
4627
4628
// !contiguous + random-access + iterator can be made into a ptr
4629
// for MSVC debug iterators
4630
//   -> string_buffer
4631
template <typename Range,
4632
          std::enable_if_t<!ranges::contiguous_range<Range> &&
4633
                           ranges::random_access_range<Range> &&
4634
                           can_make_address_from_iterator<
4635
                               ranges::iterator_t<Range>>>* = nullptr>
4636
auto impl(const Range& r, priority_tag<1>)
4637
{
4638
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4639
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
4640
                                              to_address(ranges::end(r)));
4641
    }
4642
    else {
4643
        return invalid_char_type{};
4644
    }
4645
}
4646
4647
// forward -> forward_buffer<R>
4648
template <typename Range>
4649
auto impl(const Range& r, priority_tag<0>)
4650
19.8M
{
4651
19.8M
    if constexpr (std::is_same_v<Range, file_marker>) {
4652
19.8M
        return file_marker_found{};
4653
19.8M
    }
4654
19.8M
    else if constexpr (!ranges::forward_range<Range>) {
4655
19.8M
        if constexpr (ranges::range<Range>) {
4656
19.8M
            return insufficient_range{};
4657
19.8M
        }
4658
19.8M
        else {
4659
19.8M
            return invalid_input_range{};
4660
19.8M
        }
4661
19.8M
    }
4662
19.8M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4663
19.8M
        return invalid_char_type{};
4664
19.8M
    }
4665
19.8M
    else {
4666
19.8M
        return make_forward_scan_buffer(r);
4667
19.8M
    }
4668
19.8M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4650
2.53M
{
4651
2.53M
    if constexpr (std::is_same_v<Range, file_marker>) {
4652
2.53M
        return file_marker_found{};
4653
2.53M
    }
4654
2.53M
    else if constexpr (!ranges::forward_range<Range>) {
4655
2.53M
        if constexpr (ranges::range<Range>) {
4656
2.53M
            return insufficient_range{};
4657
2.53M
        }
4658
2.53M
        else {
4659
2.53M
            return invalid_input_range{};
4660
2.53M
        }
4661
2.53M
    }
4662
2.53M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4663
2.53M
        return invalid_char_type{};
4664
2.53M
    }
4665
2.53M
    else {
4666
2.53M
        return make_forward_scan_buffer(r);
4667
2.53M
    }
4668
2.53M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4650
17.3M
{
4651
17.3M
    if constexpr (std::is_same_v<Range, file_marker>) {
4652
17.3M
        return file_marker_found{};
4653
17.3M
    }
4654
17.3M
    else if constexpr (!ranges::forward_range<Range>) {
4655
17.3M
        if constexpr (ranges::range<Range>) {
4656
17.3M
            return insufficient_range{};
4657
17.3M
        }
4658
17.3M
        else {
4659
17.3M
            return invalid_input_range{};
4660
17.3M
        }
4661
17.3M
    }
4662
17.3M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4663
17.3M
        return invalid_char_type{};
4664
17.3M
    }
4665
17.3M
    else {
4666
17.3M
        return make_forward_scan_buffer(r);
4667
17.3M
    }
4668
17.3M
}
4669
}  // namespace _make_scan_buffer
4670
4671
template <typename Range>
4672
inline constexpr bool is_scannable_range =
4673
    !std::is_base_of_v<invalid_input_range,
4674
                       decltype(_make_scan_buffer::impl(
4675
                                    SCN_DECLVAL(const Range&)),
4676
                                priority_tag<4>{})>;
4677
4678
template <typename Range>
4679
auto make_scan_buffer(const Range& range)
4680
57.0M
{
4681
57.0M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4682
4683
57.0M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4684
57.0M
                  "\n"
4685
57.0M
                  "Unsupported range type given as input to a scanning "
4686
57.0M
                  "function.\n"
4687
57.0M
                  "A range needs to have a character type (value type) "
4688
57.0M
                  "of either `char` or `wchar_t` to be scannable.\n"
4689
57.0M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4690
57.0M
                  "to be included.\n"
4691
57.0M
                  "See the scnlib documentation for more details.");
4692
57.0M
    static_assert(
4693
57.0M
        !std::is_same_v<T, custom_char_traits>,
4694
57.0M
        "\n"
4695
57.0M
        "Unsupported range type given as input to a scanning "
4696
57.0M
        "function.\n"
4697
57.0M
        "String types (std::basic_string, and std::basic_string_view) "
4698
57.0M
        "need to use std::char_traits. Strings with custom Traits are "
4699
57.0M
        "not supported.");
4700
57.0M
    static_assert(!std::is_same_v<T, file_marker_found>,
4701
57.0M
                  "\n"
4702
57.0M
                  "Unsupported range type given as input to a scanning "
4703
57.0M
                  "function.\n"
4704
57.0M
                  "file_marker_found cannot be used as an "
4705
57.0M
                  "source range type to scn::scan.\n"
4706
57.0M
                  "To read from stdin, use scn::input or scn::prompt, "
4707
57.0M
                  "and do not provide an explicit source range, "
4708
57.0M
                  "or use scn::scan with a FILE* directly.");
4709
57.0M
    static_assert(!std::is_same_v<T, insufficient_range>,
4710
57.0M
                  "\n"
4711
57.0M
                  "Unsupported range type given as input to a scanning "
4712
57.0M
                  "function.\n"
4713
57.0M
                  "In order to be scannable, a range needs to satisfy "
4714
57.0M
                  "`forward_range`. `input_range` is not sufficient.");
4715
57.0M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4716
57.0M
                  "\n"
4717
57.0M
                  "Unsupported range type given as input to a scanning "
4718
57.0M
                  "function.\n"
4719
57.0M
                  "A range needs to model forward_range and have a valid "
4720
57.0M
                  "character type (char or wchar_t) to be scannable.\n"
4721
57.0M
                  "Examples of scannable ranges are std::string, "
4722
57.0M
                  "std::string_view, "
4723
57.0M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4724
57.0M
                  "See the scnlib documentation for more details.");
4725
4726
57.0M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4727
57.0M
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
4680
81.3k
{
4681
81.3k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4682
4683
81.3k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4684
81.3k
                  "\n"
4685
81.3k
                  "Unsupported range type given as input to a scanning "
4686
81.3k
                  "function.\n"
4687
81.3k
                  "A range needs to have a character type (value type) "
4688
81.3k
                  "of either `char` or `wchar_t` to be scannable.\n"
4689
81.3k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4690
81.3k
                  "to be included.\n"
4691
81.3k
                  "See the scnlib documentation for more details.");
4692
81.3k
    static_assert(
4693
81.3k
        !std::is_same_v<T, custom_char_traits>,
4694
81.3k
        "\n"
4695
81.3k
        "Unsupported range type given as input to a scanning "
4696
81.3k
        "function.\n"
4697
81.3k
        "String types (std::basic_string, and std::basic_string_view) "
4698
81.3k
        "need to use std::char_traits. Strings with custom Traits are "
4699
81.3k
        "not supported.");
4700
81.3k
    static_assert(!std::is_same_v<T, file_marker_found>,
4701
81.3k
                  "\n"
4702
81.3k
                  "Unsupported range type given as input to a scanning "
4703
81.3k
                  "function.\n"
4704
81.3k
                  "file_marker_found cannot be used as an "
4705
81.3k
                  "source range type to scn::scan.\n"
4706
81.3k
                  "To read from stdin, use scn::input or scn::prompt, "
4707
81.3k
                  "and do not provide an explicit source range, "
4708
81.3k
                  "or use scn::scan with a FILE* directly.");
4709
81.3k
    static_assert(!std::is_same_v<T, insufficient_range>,
4710
81.3k
                  "\n"
4711
81.3k
                  "Unsupported range type given as input to a scanning "
4712
81.3k
                  "function.\n"
4713
81.3k
                  "In order to be scannable, a range needs to satisfy "
4714
81.3k
                  "`forward_range`. `input_range` is not sufficient.");
4715
81.3k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4716
81.3k
                  "\n"
4717
81.3k
                  "Unsupported range type given as input to a scanning "
4718
81.3k
                  "function.\n"
4719
81.3k
                  "A range needs to model forward_range and have a valid "
4720
81.3k
                  "character type (char or wchar_t) to be scannable.\n"
4721
81.3k
                  "Examples of scannable ranges are std::string, "
4722
81.3k
                  "std::string_view, "
4723
81.3k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4724
81.3k
                  "See the scnlib documentation for more details.");
4725
4726
81.3k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4727
81.3k
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Line
Count
Source
4680
162k
{
4681
162k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4682
4683
162k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4684
162k
                  "\n"
4685
162k
                  "Unsupported range type given as input to a scanning "
4686
162k
                  "function.\n"
4687
162k
                  "A range needs to have a character type (value type) "
4688
162k
                  "of either `char` or `wchar_t` to be scannable.\n"
4689
162k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4690
162k
                  "to be included.\n"
4691
162k
                  "See the scnlib documentation for more details.");
4692
162k
    static_assert(
4693
162k
        !std::is_same_v<T, custom_char_traits>,
4694
162k
        "\n"
4695
162k
        "Unsupported range type given as input to a scanning "
4696
162k
        "function.\n"
4697
162k
        "String types (std::basic_string, and std::basic_string_view) "
4698
162k
        "need to use std::char_traits. Strings with custom Traits are "
4699
162k
        "not supported.");
4700
162k
    static_assert(!std::is_same_v<T, file_marker_found>,
4701
162k
                  "\n"
4702
162k
                  "Unsupported range type given as input to a scanning "
4703
162k
                  "function.\n"
4704
162k
                  "file_marker_found cannot be used as an "
4705
162k
                  "source range type to scn::scan.\n"
4706
162k
                  "To read from stdin, use scn::input or scn::prompt, "
4707
162k
                  "and do not provide an explicit source range, "
4708
162k
                  "or use scn::scan with a FILE* directly.");
4709
162k
    static_assert(!std::is_same_v<T, insufficient_range>,
4710
162k
                  "\n"
4711
162k
                  "Unsupported range type given as input to a scanning "
4712
162k
                  "function.\n"
4713
162k
                  "In order to be scannable, a range needs to satisfy "
4714
162k
                  "`forward_range`. `input_range` is not sufficient.");
4715
162k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4716
162k
                  "\n"
4717
162k
                  "Unsupported range type given as input to a scanning "
4718
162k
                  "function.\n"
4719
162k
                  "A range needs to model forward_range and have a valid "
4720
162k
                  "character type (char or wchar_t) to be scannable.\n"
4721
162k
                  "Examples of scannable ranges are std::string, "
4722
162k
                  "std::string_view, "
4723
162k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4724
162k
                  "See the scnlib documentation for more details.");
4725
4726
162k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4727
162k
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
4680
2.68M
{
4681
2.68M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4682
4683
2.68M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4684
2.68M
                  "\n"
4685
2.68M
                  "Unsupported range type given as input to a scanning "
4686
2.68M
                  "function.\n"
4687
2.68M
                  "A range needs to have a character type (value type) "
4688
2.68M
                  "of either `char` or `wchar_t` to be scannable.\n"
4689
2.68M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4690
2.68M
                  "to be included.\n"
4691
2.68M
                  "See the scnlib documentation for more details.");
4692
2.68M
    static_assert(
4693
2.68M
        !std::is_same_v<T, custom_char_traits>,
4694
2.68M
        "\n"
4695
2.68M
        "Unsupported range type given as input to a scanning "
4696
2.68M
        "function.\n"
4697
2.68M
        "String types (std::basic_string, and std::basic_string_view) "
4698
2.68M
        "need to use std::char_traits. Strings with custom Traits are "
4699
2.68M
        "not supported.");
4700
2.68M
    static_assert(!std::is_same_v<T, file_marker_found>,
4701
2.68M
                  "\n"
4702
2.68M
                  "Unsupported range type given as input to a scanning "
4703
2.68M
                  "function.\n"
4704
2.68M
                  "file_marker_found cannot be used as an "
4705
2.68M
                  "source range type to scn::scan.\n"
4706
2.68M
                  "To read from stdin, use scn::input or scn::prompt, "
4707
2.68M
                  "and do not provide an explicit source range, "
4708
2.68M
                  "or use scn::scan with a FILE* directly.");
4709
2.68M
    static_assert(!std::is_same_v<T, insufficient_range>,
4710
2.68M
                  "\n"
4711
2.68M
                  "Unsupported range type given as input to a scanning "
4712
2.68M
                  "function.\n"
4713
2.68M
                  "In order to be scannable, a range needs to satisfy "
4714
2.68M
                  "`forward_range`. `input_range` is not sufficient.");
4715
2.68M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4716
2.68M
                  "\n"
4717
2.68M
                  "Unsupported range type given as input to a scanning "
4718
2.68M
                  "function.\n"
4719
2.68M
                  "A range needs to model forward_range and have a valid "
4720
2.68M
                  "character type (char or wchar_t) to be scannable.\n"
4721
2.68M
                  "Examples of scannable ranges are std::string, "
4722
2.68M
                  "std::string_view, "
4723
2.68M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4724
2.68M
                  "See the scnlib documentation for more details.");
4725
4726
2.68M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4727
2.68M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4680
2.53M
{
4681
2.53M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4682
4683
2.53M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4684
2.53M
                  "\n"
4685
2.53M
                  "Unsupported range type given as input to a scanning "
4686
2.53M
                  "function.\n"
4687
2.53M
                  "A range needs to have a character type (value type) "
4688
2.53M
                  "of either `char` or `wchar_t` to be scannable.\n"
4689
2.53M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4690
2.53M
                  "to be included.\n"
4691
2.53M
                  "See the scnlib documentation for more details.");
4692
2.53M
    static_assert(
4693
2.53M
        !std::is_same_v<T, custom_char_traits>,
4694
2.53M
        "\n"
4695
2.53M
        "Unsupported range type given as input to a scanning "
4696
2.53M
        "function.\n"
4697
2.53M
        "String types (std::basic_string, and std::basic_string_view) "
4698
2.53M
        "need to use std::char_traits. Strings with custom Traits are "
4699
2.53M
        "not supported.");
4700
2.53M
    static_assert(!std::is_same_v<T, file_marker_found>,
4701
2.53M
                  "\n"
4702
2.53M
                  "Unsupported range type given as input to a scanning "
4703
2.53M
                  "function.\n"
4704
2.53M
                  "file_marker_found cannot be used as an "
4705
2.53M
                  "source range type to scn::scan.\n"
4706
2.53M
                  "To read from stdin, use scn::input or scn::prompt, "
4707
2.53M
                  "and do not provide an explicit source range, "
4708
2.53M
                  "or use scn::scan with a FILE* directly.");
4709
2.53M
    static_assert(!std::is_same_v<T, insufficient_range>,
4710
2.53M
                  "\n"
4711
2.53M
                  "Unsupported range type given as input to a scanning "
4712
2.53M
                  "function.\n"
4713
2.53M
                  "In order to be scannable, a range needs to satisfy "
4714
2.53M
                  "`forward_range`. `input_range` is not sufficient.");
4715
2.53M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4716
2.53M
                  "\n"
4717
2.53M
                  "Unsupported range type given as input to a scanning "
4718
2.53M
                  "function.\n"
4719
2.53M
                  "A range needs to model forward_range and have a valid "
4720
2.53M
                  "character type (char or wchar_t) to be scannable.\n"
4721
2.53M
                  "Examples of scannable ranges are std::string, "
4722
2.53M
                  "std::string_view, "
4723
2.53M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4724
2.53M
                  "See the scnlib documentation for more details.");
4725
4726
2.53M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4727
2.53M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
4680
34.2M
{
4681
34.2M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4682
4683
34.2M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4684
34.2M
                  "\n"
4685
34.2M
                  "Unsupported range type given as input to a scanning "
4686
34.2M
                  "function.\n"
4687
34.2M
                  "A range needs to have a character type (value type) "
4688
34.2M
                  "of either `char` or `wchar_t` to be scannable.\n"
4689
34.2M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4690
34.2M
                  "to be included.\n"
4691
34.2M
                  "See the scnlib documentation for more details.");
4692
34.2M
    static_assert(
4693
34.2M
        !std::is_same_v<T, custom_char_traits>,
4694
34.2M
        "\n"
4695
34.2M
        "Unsupported range type given as input to a scanning "
4696
34.2M
        "function.\n"
4697
34.2M
        "String types (std::basic_string, and std::basic_string_view) "
4698
34.2M
        "need to use std::char_traits. Strings with custom Traits are "
4699
34.2M
        "not supported.");
4700
34.2M
    static_assert(!std::is_same_v<T, file_marker_found>,
4701
34.2M
                  "\n"
4702
34.2M
                  "Unsupported range type given as input to a scanning "
4703
34.2M
                  "function.\n"
4704
34.2M
                  "file_marker_found cannot be used as an "
4705
34.2M
                  "source range type to scn::scan.\n"
4706
34.2M
                  "To read from stdin, use scn::input or scn::prompt, "
4707
34.2M
                  "and do not provide an explicit source range, "
4708
34.2M
                  "or use scn::scan with a FILE* directly.");
4709
34.2M
    static_assert(!std::is_same_v<T, insufficient_range>,
4710
34.2M
                  "\n"
4711
34.2M
                  "Unsupported range type given as input to a scanning "
4712
34.2M
                  "function.\n"
4713
34.2M
                  "In order to be scannable, a range needs to satisfy "
4714
34.2M
                  "`forward_range`. `input_range` is not sufficient.");
4715
34.2M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4716
34.2M
                  "\n"
4717
34.2M
                  "Unsupported range type given as input to a scanning "
4718
34.2M
                  "function.\n"
4719
34.2M
                  "A range needs to model forward_range and have a valid "
4720
34.2M
                  "character type (char or wchar_t) to be scannable.\n"
4721
34.2M
                  "Examples of scannable ranges are std::string, "
4722
34.2M
                  "std::string_view, "
4723
34.2M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4724
34.2M
                  "See the scnlib documentation for more details.");
4725
4726
34.2M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4727
34.2M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4680
17.3M
{
4681
17.3M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4682
4683
17.3M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4684
17.3M
                  "\n"
4685
17.3M
                  "Unsupported range type given as input to a scanning "
4686
17.3M
                  "function.\n"
4687
17.3M
                  "A range needs to have a character type (value type) "
4688
17.3M
                  "of either `char` or `wchar_t` to be scannable.\n"
4689
17.3M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4690
17.3M
                  "to be included.\n"
4691
17.3M
                  "See the scnlib documentation for more details.");
4692
17.3M
    static_assert(
4693
17.3M
        !std::is_same_v<T, custom_char_traits>,
4694
17.3M
        "\n"
4695
17.3M
        "Unsupported range type given as input to a scanning "
4696
17.3M
        "function.\n"
4697
17.3M
        "String types (std::basic_string, and std::basic_string_view) "
4698
17.3M
        "need to use std::char_traits. Strings with custom Traits are "
4699
17.3M
        "not supported.");
4700
17.3M
    static_assert(!std::is_same_v<T, file_marker_found>,
4701
17.3M
                  "\n"
4702
17.3M
                  "Unsupported range type given as input to a scanning "
4703
17.3M
                  "function.\n"
4704
17.3M
                  "file_marker_found cannot be used as an "
4705
17.3M
                  "source range type to scn::scan.\n"
4706
17.3M
                  "To read from stdin, use scn::input or scn::prompt, "
4707
17.3M
                  "and do not provide an explicit source range, "
4708
17.3M
                  "or use scn::scan with a FILE* directly.");
4709
17.3M
    static_assert(!std::is_same_v<T, insufficient_range>,
4710
17.3M
                  "\n"
4711
17.3M
                  "Unsupported range type given as input to a scanning "
4712
17.3M
                  "function.\n"
4713
17.3M
                  "In order to be scannable, a range needs to satisfy "
4714
17.3M
                  "`forward_range`. `input_range` is not sufficient.");
4715
17.3M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4716
17.3M
                  "\n"
4717
17.3M
                  "Unsupported range type given as input to a scanning "
4718
17.3M
                  "function.\n"
4719
17.3M
                  "A range needs to model forward_range and have a valid "
4720
17.3M
                  "character type (char or wchar_t) to be scannable.\n"
4721
17.3M
                  "Examples of scannable ranges are std::string, "
4722
17.3M
                  "std::string_view, "
4723
17.3M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4724
17.3M
                  "See the scnlib documentation for more details.");
4725
4726
17.3M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4727
17.3M
}
4728
4729
template <
4730
    typename Range,
4731
    std::enable_if_t<
4732
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
4733
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
4734
auto make_scan_buffer(Range&&) = delete;
4735
}  // namespace detail
4736
4737
/////////////////////////////////////////////////////////////////
4738
// Argument type erasure
4739
/////////////////////////////////////////////////////////////////
4740
4741
namespace detail {
4742
enum class arg_type : unsigned char {
4743
    none_type,
4744
    schar_type,
4745
    short_type,
4746
    int_type,
4747
    long_type,
4748
    llong_type,
4749
    uchar_type,
4750
    ushort_type,
4751
    uint_type,
4752
    ulong_type,
4753
    ullong_type,
4754
    bool_type,
4755
    narrow_character_type,
4756
    wide_character_type,
4757
    code_point_type,
4758
    pointer_type,
4759
    float_type,
4760
    double_type,
4761
    ldouble_type,
4762
    narrow_string_view_type,
4763
    wide_string_view_type,
4764
    narrow_string_type,
4765
    wide_string_type,
4766
    narrow_regex_matches_type,
4767
    wide_regex_matches_type,
4768
    custom_type,
4769
    last_type = custom_type
4770
};
4771
4772
template <typename>
4773
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
4774
4775
template <typename T, typename CharT>
4776
struct arg_type_constant
4777
    : std::integral_constant<arg_type, arg_type::custom_type> {
4778
    using type = T;
4779
};
4780
4781
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
4782
    template <typename CharT>                             \
4783
    struct arg_type_constant<Type, CharT>                 \
4784
        : std::integral_constant<arg_type, arg_type::C> { \
4785
        using type = Type;                                \
4786
    };                                                    \
4787
    template <>                                           \
4788
    inline constexpr bool is_type_disabled<Type> = Disabled
4789
4790
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
4791
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
4792
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
4793
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
4794
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
4795
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
4796
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
4797
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
4798
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
4799
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
4800
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
4801
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
4802
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
4803
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
4804
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
4805
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
4806
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
4807
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
4808
SCN_TYPE_CONSTANT(std::string_view,
4809
                  narrow_string_view_type,
4810
                  SCN_DISABLE_TYPE_STRING_VIEW);
4811
SCN_TYPE_CONSTANT(std::wstring_view,
4812
                  wide_string_view_type,
4813
                  SCN_DISABLE_TYPE_STRING_VIEW);
4814
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
4815
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
4816
SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX);
4817
SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX);
4818
4819
#undef SCN_TYPE_CONSTANT
4820
4821
struct custom_value_type {
4822
    void* value;
4823
    scan_error (*scan)(void* arg, void* pctx, void* ctx);
4824
};
4825
4826
struct unscannable {};
4827
struct unscannable_char : unscannable {};
4828
struct unscannable_const : unscannable {};
4829
struct unscannable_disabled : unscannable {
4830
    unscannable_disabled() = default;
4831
4832
    template <typename T>
4833
    constexpr unscannable_disabled(T&&)
4834
    {
4835
    }
4836
};
4837
4838
struct needs_context_tag {};
4839
4840
template <typename Context>
4841
struct context_tag {
4842
    using type = Context;
4843
};
4844
4845
template <typename T, typename Context>
4846
struct custom_wrapper {
4847
    using context_type = Context;
4848
    T& val;
4849
};
4850
4851
class arg_value {
4852
public:
4853
    // trivial default initialization in constexpr
4854
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
4855
    SCN_STD > SCN_STD_20
4856
    constexpr
4857
#endif
4858
56.8M
    arg_value() = default;
4859
4860
    template <typename T>
4861
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4862
57.0M
    {
4863
57.0M
    }
scn::v3::detail::arg_value::arg_value<char>(char&)
Line
Count
Source
4862
9.04k
    {
4863
9.04k
    }
scn::v3::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
4862
1.03M
    {
4863
1.03M
    }
scn::v3::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
4862
924k
    {
4863
924k
    }
scn::v3::detail::arg_value::arg_value<double>(double&)
Line
Count
Source
4862
119k
    {
4863
119k
    }
scn::v3::detail::arg_value::arg_value<bool>(bool&)
Line
Count
Source
4862
27.1k
    {
4863
27.1k
    }
scn::v3::detail::arg_value::arg_value<void*>(void*&)
Line
Count
Source
4862
27.1k
    {
4863
27.1k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4862
336k
    {
4863
336k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4862
33.7M
    {
4863
33.7M
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4862
163k
    {
4863
163k
    }
scn::v3::detail::arg_value::arg_value<wchar_t>(wchar_t&)
Line
Count
Source
4862
18.0k
    {
4863
18.0k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4862
16.8M
    {
4863
16.8M
    }
scn::v3::detail::arg_value::arg_value<signed char>(signed char&)
Line
Count
Source
4862
842k
    {
4863
842k
    }
scn::v3::detail::arg_value::arg_value<unsigned char>(unsigned char&)
Line
Count
Source
4862
814k
    {
4863
814k
    }
scn::v3::detail::arg_value::arg_value<long long>(long long&)
Line
Count
Source
4862
1.02M
    {
4863
1.02M
    }
scn::v3::detail::arg_value::arg_value<unsigned long long>(unsigned long long&)
Line
Count
Source
4862
905k
    {
4863
905k
    }
scn::v3::detail::arg_value::arg_value<float>(float&)
Line
Count
Source
4862
69.2k
    {
4863
69.2k
    }
scn::v3::detail::arg_value::arg_value<long double>(long double&)
Line
Count
Source
4862
92.1k
    {
4863
92.1k
    }
4864
4865
    template <typename T, typename Context>
4866
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
4867
        : custom_value{static_cast<void*>(&val.val),
4868
                       scan_custom_arg<T, Context>}
4869
    {
4870
    }
4871
4872
    arg_value(unscannable);
4873
    arg_value(unscannable_char);
4874
    arg_value(unscannable_const);
4875
    arg_value(unscannable_disabled);
4876
4877
    union {
4878
        void* ref_value{nullptr};
4879
        custom_value_type custom_value;
4880
    };
4881
4882
private:
4883
    template <typename T, typename Context>
4884
    static scan_error scan_custom_arg(void* arg, void* pctx, void* ctx)
4885
    {
4886
        static_assert(!is_type_disabled<T>,
4887
                      "Scanning of custom types is disabled by "
4888
                      "SCN_DISABLE_TYPE_CUSTOM");
4889
        SCN_EXPECT(arg && pctx && ctx);
4890
4891
        using context_type = Context;
4892
        using parse_context_type = typename context_type::parse_context_type;
4893
        using scanner_type = typename context_type::template scanner_type<T>;
4894
4895
        auto s = scanner_type{};
4896
4897
        auto& arg_ref = *static_cast<T*>(arg);
4898
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
4899
        auto& ctx_ref = *static_cast<context_type*>(ctx);
4900
4901
        SCN_TRY_ERR(_, s.parse(pctx_ref));
4902
        SCN_UNUSED(_);
4903
        SCN_TRY_ERR(it, s.scan(arg_ref, ctx_ref));
4904
        ctx_ref.advance_to(SCN_MOVE(it));
4905
4906
        return {};
4907
    }
4908
};
4909
4910
template <typename CharT>
4911
struct arg_mapper {
4912
    using char_type = CharT;
4913
    using other_char_type =
4914
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
4915
4916
#define SCN_ARG_MAPPER(T)                                                    \
4917
    static auto map(T& val)                                                  \
4918
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
4919
57.0M
    {                                                                        \
4920
57.0M
        return val;                                                          \
4921
57.0M
    }
scn::v3::detail::arg_mapper<char>::map(int&)
Line
Count
Source
4919
856k
    {                                                                        \
4920
856k
        return val;                                                          \
4921
856k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
4919
742k
    {                                                                        \
4920
742k
        return val;                                                          \
4921
742k
    }
scn::v3::detail::arg_mapper<char>::map(double&)
Line
Count
Source
4919
99.5k
    {                                                                        \
4920
99.5k
        return val;                                                          \
4921
99.5k
    }
scn::v3::detail::arg_mapper<char>::map(bool&)
Line
Count
Source
4919
9.04k
    {                                                                        \
4920
9.04k
        return val;                                                          \
4921
9.04k
    }
scn::v3::detail::arg_mapper<char>::map(void*&)
Line
Count
Source
4919
9.04k
    {                                                                        \
4920
9.04k
        return val;                                                          \
4921
9.04k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4919
318k
    {                                                                        \
4920
318k
        return val;                                                          \
4921
318k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4919
9.04k
    {                                                                        \
4920
9.04k
        return val;                                                          \
4921
9.04k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4919
163k
    {                                                                        \
4920
163k
        return val;                                                          \
4921
163k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(wchar_t&)
Line
Count
Source
4919
18.0k
    {                                                                        \
4920
18.0k
        return val;                                                          \
4921
18.0k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
4919
182k
    {                                                                        \
4920
182k
        return val;                                                          \
4921
182k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
4919
182k
    {                                                                        \
4920
182k
        return val;                                                          \
4921
182k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(double&)
Line
Count
Source
4919
19.7k
    {                                                                        \
4920
19.7k
        return val;                                                          \
4921
19.7k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(bool&)
Line
Count
Source
4919
18.0k
    {                                                                        \
4920
18.0k
        return val;                                                          \
4921
18.0k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(void*&)
Line
Count
Source
4919
18.0k
    {                                                                        \
4920
18.0k
        return val;                                                          \
4921
18.0k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4919
18.0k
    {                                                                        \
4920
18.0k
        return val;                                                          \
4921
18.0k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4919
33.7M
    {                                                                        \
4920
33.7M
        return val;                                                          \
4921
33.7M
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4919
16.8M
    {                                                                        \
4920
16.8M
        return val;                                                          \
4921
16.8M
    }
scn::v3::detail::arg_mapper<char>::map(signed char&)
Line
Count
Source
4919
677k
    {                                                                        \
4920
677k
        return val;                                                          \
4921
677k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned char&)
Line
Count
Source
4919
650k
    {                                                                        \
4920
650k
        return val;                                                          \
4921
650k
    }
scn::v3::detail::arg_mapper<char>::map(long long&)
Line
Count
Source
4919
863k
    {                                                                        \
4920
863k
        return val;                                                          \
4921
863k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned long long&)
Line
Count
Source
4919
741k
    {                                                                        \
4920
741k
        return val;                                                          \
4921
741k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(signed char&)
Line
Count
Source
4919
164k
    {                                                                        \
4920
164k
        return val;                                                          \
4921
164k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned char&)
Line
Count
Source
4919
164k
    {                                                                        \
4920
164k
        return val;                                                          \
4921
164k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long long&)
Line
Count
Source
4919
165k
    {                                                                        \
4920
165k
        return val;                                                          \
4921
165k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned long long&)
Line
Count
Source
4919
164k
    {                                                                        \
4920
164k
        return val;                                                          \
4921
164k
    }
scn::v3::detail::arg_mapper<char>::map(float&)
Line
Count
Source
4919
67.5k
    {                                                                        \
4920
67.5k
        return val;                                                          \
4921
67.5k
    }
scn::v3::detail::arg_mapper<char>::map(long double&)
Line
Count
Source
4919
90.5k
    {                                                                        \
4920
90.5k
        return val;                                                          \
4921
90.5k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(float&)
Line
Count
Source
4919
1.66k
    {                                                                        \
4920
1.66k
        return val;                                                          \
4921
1.66k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long double&)
Line
Count
Source
4919
1.66k
    {                                                                        \
4920
1.66k
        return val;                                                          \
4921
1.66k
    }
4922
4923
    SCN_ARG_MAPPER(signed char)
4924
    SCN_ARG_MAPPER(short)
4925
    SCN_ARG_MAPPER(int)
4926
    SCN_ARG_MAPPER(long)
4927
    SCN_ARG_MAPPER(long long)
4928
    SCN_ARG_MAPPER(unsigned char)
4929
    SCN_ARG_MAPPER(unsigned short)
4930
    SCN_ARG_MAPPER(unsigned)
4931
    SCN_ARG_MAPPER(unsigned long)
4932
    SCN_ARG_MAPPER(unsigned long long)
4933
    SCN_ARG_MAPPER(wchar_t)
4934
    SCN_ARG_MAPPER(char32_t)
4935
    SCN_ARG_MAPPER(bool)
4936
    SCN_ARG_MAPPER(void*)
4937
    SCN_ARG_MAPPER(float)
4938
    SCN_ARG_MAPPER(double)
4939
    SCN_ARG_MAPPER(long double)
4940
4941
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
4942
    SCN_ARG_MAPPER(std::string)
4943
    SCN_ARG_MAPPER(std::wstring)
4944
4945
#undef SCN_ARG_MAPPER
4946
4947
    static decltype(auto) map(char& val)
4948
9.04k
    {
4949
9.04k
        if constexpr (std::is_same_v<char_type, char> &&
4950
9.04k
                      !is_type_disabled<char_type>) {
4951
9.04k
            return val;
4952
9.04k
        }
4953
9.04k
        else if constexpr (is_type_disabled<char_type>) {
4954
9.04k
            return unscannable_disabled{val};
4955
9.04k
        }
4956
9.04k
        else {
4957
9.04k
            SCN_UNUSED(val);
4958
9.04k
            return unscannable_char{};
4959
9.04k
        }
4960
9.04k
    }
4961
4962
    static decltype(auto) map(basic_regex_matches<char_type>& val)
4963
    {
4964
        if constexpr (is_type_disabled<char_type>) {
4965
            return unscannable_disabled{val};
4966
        }
4967
        else {
4968
            return val;
4969
        }
4970
    }
4971
4972
    static unscannable_char map(std::basic_string_view<other_char_type>&)
4973
    {
4974
        return {};
4975
    }
4976
    static unscannable_char map(basic_regex_matches<other_char_type>&)
4977
    {
4978
        return {};
4979
    }
4980
4981
    template <typename T>
4982
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
4983
                            needs_context_tag>
4984
    map(T&)
4985
    {
4986
        return {};
4987
    }
4988
4989
    template <typename T, typename Context>
4990
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
4991
                            custom_wrapper<T, Context>>
4992
    map(T& val, context_tag<Context>)
4993
    {
4994
        return {val};
4995
    }
4996
4997
    static unscannable map(...)
4998
    {
4999
        return {};
5000
    }
5001
};
5002
5003
template <typename T, typename CharT>
5004
using mapped_type_constant = arg_type_constant<
5005
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5006
    CharT>;
5007
5008
template <typename T, typename CharT>
5009
using is_scannable = std::integral_constant<
5010
    bool,
5011
    !std::is_base_of_v<
5012
        unscannable,
5013
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5014
5015
constexpr std::size_t packed_arg_bits = 5;
5016
static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type));
5017
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5018
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5019
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5020
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5021
5022
template <typename>
5023
constexpr size_t encode_types_impl()
5024
0
{
5025
0
    return 0;
5026
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t>()
5027
template <typename CharT, typename T, typename... Others>
5028
constexpr size_t encode_types_impl()
5029
0
{
5030
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5031
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5032
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long double>()
5033
5034
template <typename CharT, typename... Ts>
5035
constexpr size_t encode_types()
5036
0
{
5037
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5038
0
        return sizeof...(Ts) |
5039
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5040
0
    }
5041
0
    else {
5042
0
        SCN_EXPECT(false);
5043
0
        SCN_UNREACHABLE;
5044
0
    }
5045
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long double>()
5046
5047
template <typename Arg>
5048
constexpr auto make_value_impl(Arg&& arg)
5049
57.0M
{
5050
57.0M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
57.0M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
57.0M
    constexpr bool scannable_char =
5054
57.0M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
57.0M
    static_assert(scannable_char,
5056
57.0M
                  "Cannot scan an argument of an unsupported character "
5057
57.0M
                  "type (i.e. char from a wchar_t source)");
5058
5059
57.0M
    constexpr bool scannable_const =
5060
57.0M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
57.0M
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
57.0M
    constexpr bool scannable_disabled =
5064
57.0M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
57.0M
    static_assert(scannable_disabled,
5066
57.0M
                  "Cannot scan an argument that has been disabled by "
5067
57.0M
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
57.0M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
57.0M
    static_assert(
5071
57.0M
        scannable,
5072
57.0M
        "Cannot scan an argument. To make a type T scannable, provide "
5073
57.0M
        "a scn::scanner<T, CharT> specialization.");
5074
5075
57.0M
    return arg_value{arg};
5076
57.0M
}
auto scn::v3::detail::make_value_impl<char&>(char&)
Line
Count
Source
5049
9.04k
{
5050
9.04k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
9.04k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
9.04k
    constexpr bool scannable_char =
5054
9.04k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
9.04k
    static_assert(scannable_char,
5056
9.04k
                  "Cannot scan an argument of an unsupported character "
5057
9.04k
                  "type (i.e. char from a wchar_t source)");
5058
5059
9.04k
    constexpr bool scannable_const =
5060
9.04k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
9.04k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
9.04k
    constexpr bool scannable_disabled =
5064
9.04k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
9.04k
    static_assert(scannable_disabled,
5066
9.04k
                  "Cannot scan an argument that has been disabled by "
5067
9.04k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
9.04k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
9.04k
    static_assert(
5071
9.04k
        scannable,
5072
9.04k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
9.04k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
9.04k
    return arg_value{arg};
5076
9.04k
}
auto scn::v3::detail::make_value_impl<int&>(int&)
Line
Count
Source
5049
1.03M
{
5050
1.03M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
1.03M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
1.03M
    constexpr bool scannable_char =
5054
1.03M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
1.03M
    static_assert(scannable_char,
5056
1.03M
                  "Cannot scan an argument of an unsupported character "
5057
1.03M
                  "type (i.e. char from a wchar_t source)");
5058
5059
1.03M
    constexpr bool scannable_const =
5060
1.03M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
1.03M
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
1.03M
    constexpr bool scannable_disabled =
5064
1.03M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
1.03M
    static_assert(scannable_disabled,
5066
1.03M
                  "Cannot scan an argument that has been disabled by "
5067
1.03M
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
1.03M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
1.03M
    static_assert(
5071
1.03M
        scannable,
5072
1.03M
        "Cannot scan an argument. To make a type T scannable, provide "
5073
1.03M
        "a scn::scanner<T, CharT> specialization.");
5074
5075
1.03M
    return arg_value{arg};
5076
1.03M
}
auto scn::v3::detail::make_value_impl<unsigned int&>(unsigned int&)
Line
Count
Source
5049
924k
{
5050
924k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
924k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
924k
    constexpr bool scannable_char =
5054
924k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
924k
    static_assert(scannable_char,
5056
924k
                  "Cannot scan an argument of an unsupported character "
5057
924k
                  "type (i.e. char from a wchar_t source)");
5058
5059
924k
    constexpr bool scannable_const =
5060
924k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
924k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
924k
    constexpr bool scannable_disabled =
5064
924k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
924k
    static_assert(scannable_disabled,
5066
924k
                  "Cannot scan an argument that has been disabled by "
5067
924k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
924k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
924k
    static_assert(
5071
924k
        scannable,
5072
924k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
924k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
924k
    return arg_value{arg};
5076
924k
}
auto scn::v3::detail::make_value_impl<double&>(double&)
Line
Count
Source
5049
119k
{
5050
119k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
119k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
119k
    constexpr bool scannable_char =
5054
119k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
119k
    static_assert(scannable_char,
5056
119k
                  "Cannot scan an argument of an unsupported character "
5057
119k
                  "type (i.e. char from a wchar_t source)");
5058
5059
119k
    constexpr bool scannable_const =
5060
119k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
119k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
119k
    constexpr bool scannable_disabled =
5064
119k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
119k
    static_assert(scannable_disabled,
5066
119k
                  "Cannot scan an argument that has been disabled by "
5067
119k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
119k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
119k
    static_assert(
5071
119k
        scannable,
5072
119k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
119k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
119k
    return arg_value{arg};
5076
119k
}
auto scn::v3::detail::make_value_impl<bool&>(bool&)
Line
Count
Source
5049
27.1k
{
5050
27.1k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
27.1k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
27.1k
    constexpr bool scannable_char =
5054
27.1k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
27.1k
    static_assert(scannable_char,
5056
27.1k
                  "Cannot scan an argument of an unsupported character "
5057
27.1k
                  "type (i.e. char from a wchar_t source)");
5058
5059
27.1k
    constexpr bool scannable_const =
5060
27.1k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
27.1k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
27.1k
    constexpr bool scannable_disabled =
5064
27.1k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
27.1k
    static_assert(scannable_disabled,
5066
27.1k
                  "Cannot scan an argument that has been disabled by "
5067
27.1k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
27.1k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
27.1k
    static_assert(
5071
27.1k
        scannable,
5072
27.1k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
27.1k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
27.1k
    return arg_value{arg};
5076
27.1k
}
auto scn::v3::detail::make_value_impl<void*&>(void*&)
Line
Count
Source
5049
27.1k
{
5050
27.1k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
27.1k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
27.1k
    constexpr bool scannable_char =
5054
27.1k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
27.1k
    static_assert(scannable_char,
5056
27.1k
                  "Cannot scan an argument of an unsupported character "
5057
27.1k
                  "type (i.e. char from a wchar_t source)");
5058
5059
27.1k
    constexpr bool scannable_const =
5060
27.1k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
27.1k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
27.1k
    constexpr bool scannable_disabled =
5064
27.1k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
27.1k
    static_assert(scannable_disabled,
5066
27.1k
                  "Cannot scan an argument that has been disabled by "
5067
27.1k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
27.1k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
27.1k
    static_assert(
5071
27.1k
        scannable,
5072
27.1k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
27.1k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
27.1k
    return arg_value{arg};
5076
27.1k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5049
336k
{
5050
336k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
336k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
336k
    constexpr bool scannable_char =
5054
336k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
336k
    static_assert(scannable_char,
5056
336k
                  "Cannot scan an argument of an unsupported character "
5057
336k
                  "type (i.e. char from a wchar_t source)");
5058
5059
336k
    constexpr bool scannable_const =
5060
336k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
336k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
336k
    constexpr bool scannable_disabled =
5064
336k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
336k
    static_assert(scannable_disabled,
5066
336k
                  "Cannot scan an argument that has been disabled by "
5067
336k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
336k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
336k
    static_assert(
5071
336k
        scannable,
5072
336k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
336k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
336k
    return arg_value{arg};
5076
336k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5049
33.7M
{
5050
33.7M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
33.7M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
33.7M
    constexpr bool scannable_char =
5054
33.7M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
33.7M
    static_assert(scannable_char,
5056
33.7M
                  "Cannot scan an argument of an unsupported character "
5057
33.7M
                  "type (i.e. char from a wchar_t source)");
5058
5059
33.7M
    constexpr bool scannable_const =
5060
33.7M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
33.7M
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
33.7M
    constexpr bool scannable_disabled =
5064
33.7M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
33.7M
    static_assert(scannable_disabled,
5066
33.7M
                  "Cannot scan an argument that has been disabled by "
5067
33.7M
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
33.7M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
33.7M
    static_assert(
5071
33.7M
        scannable,
5072
33.7M
        "Cannot scan an argument. To make a type T scannable, provide "
5073
33.7M
        "a scn::scanner<T, CharT> specialization.");
5074
5075
33.7M
    return arg_value{arg};
5076
33.7M
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5049
163k
{
5050
163k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
163k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
163k
    constexpr bool scannable_char =
5054
163k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
163k
    static_assert(scannable_char,
5056
163k
                  "Cannot scan an argument of an unsupported character "
5057
163k
                  "type (i.e. char from a wchar_t source)");
5058
5059
163k
    constexpr bool scannable_const =
5060
163k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
163k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
163k
    constexpr bool scannable_disabled =
5064
163k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
163k
    static_assert(scannable_disabled,
5066
163k
                  "Cannot scan an argument that has been disabled by "
5067
163k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
163k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
163k
    static_assert(
5071
163k
        scannable,
5072
163k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
163k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
163k
    return arg_value{arg};
5076
163k
}
auto scn::v3::detail::make_value_impl<wchar_t&>(wchar_t&)
Line
Count
Source
5049
18.0k
{
5050
18.0k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
18.0k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
18.0k
    constexpr bool scannable_char =
5054
18.0k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
18.0k
    static_assert(scannable_char,
5056
18.0k
                  "Cannot scan an argument of an unsupported character "
5057
18.0k
                  "type (i.e. char from a wchar_t source)");
5058
5059
18.0k
    constexpr bool scannable_const =
5060
18.0k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
18.0k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
18.0k
    constexpr bool scannable_disabled =
5064
18.0k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
18.0k
    static_assert(scannable_disabled,
5066
18.0k
                  "Cannot scan an argument that has been disabled by "
5067
18.0k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
18.0k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
18.0k
    static_assert(
5071
18.0k
        scannable,
5072
18.0k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
18.0k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
18.0k
    return arg_value{arg};
5076
18.0k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5049
16.8M
{
5050
16.8M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
16.8M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
16.8M
    constexpr bool scannable_char =
5054
16.8M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
16.8M
    static_assert(scannable_char,
5056
16.8M
                  "Cannot scan an argument of an unsupported character "
5057
16.8M
                  "type (i.e. char from a wchar_t source)");
5058
5059
16.8M
    constexpr bool scannable_const =
5060
16.8M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
16.8M
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
16.8M
    constexpr bool scannable_disabled =
5064
16.8M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
16.8M
    static_assert(scannable_disabled,
5066
16.8M
                  "Cannot scan an argument that has been disabled by "
5067
16.8M
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
16.8M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
16.8M
    static_assert(
5071
16.8M
        scannable,
5072
16.8M
        "Cannot scan an argument. To make a type T scannable, provide "
5073
16.8M
        "a scn::scanner<T, CharT> specialization.");
5074
5075
16.8M
    return arg_value{arg};
5076
16.8M
}
auto scn::v3::detail::make_value_impl<signed char&>(signed char&)
Line
Count
Source
5049
842k
{
5050
842k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
842k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
842k
    constexpr bool scannable_char =
5054
842k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
842k
    static_assert(scannable_char,
5056
842k
                  "Cannot scan an argument of an unsupported character "
5057
842k
                  "type (i.e. char from a wchar_t source)");
5058
5059
842k
    constexpr bool scannable_const =
5060
842k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
842k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
842k
    constexpr bool scannable_disabled =
5064
842k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
842k
    static_assert(scannable_disabled,
5066
842k
                  "Cannot scan an argument that has been disabled by "
5067
842k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
842k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
842k
    static_assert(
5071
842k
        scannable,
5072
842k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
842k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
842k
    return arg_value{arg};
5076
842k
}
auto scn::v3::detail::make_value_impl<unsigned char&>(unsigned char&)
Line
Count
Source
5049
814k
{
5050
814k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
814k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
814k
    constexpr bool scannable_char =
5054
814k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
814k
    static_assert(scannable_char,
5056
814k
                  "Cannot scan an argument of an unsupported character "
5057
814k
                  "type (i.e. char from a wchar_t source)");
5058
5059
814k
    constexpr bool scannable_const =
5060
814k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
814k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
814k
    constexpr bool scannable_disabled =
5064
814k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
814k
    static_assert(scannable_disabled,
5066
814k
                  "Cannot scan an argument that has been disabled by "
5067
814k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
814k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
814k
    static_assert(
5071
814k
        scannable,
5072
814k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
814k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
814k
    return arg_value{arg};
5076
814k
}
auto scn::v3::detail::make_value_impl<long long&>(long long&)
Line
Count
Source
5049
1.02M
{
5050
1.02M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
1.02M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
1.02M
    constexpr bool scannable_char =
5054
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
1.02M
    static_assert(scannable_char,
5056
1.02M
                  "Cannot scan an argument of an unsupported character "
5057
1.02M
                  "type (i.e. char from a wchar_t source)");
5058
5059
1.02M
    constexpr bool scannable_const =
5060
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
1.02M
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
1.02M
    constexpr bool scannable_disabled =
5064
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
1.02M
    static_assert(scannable_disabled,
5066
1.02M
                  "Cannot scan an argument that has been disabled by "
5067
1.02M
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
1.02M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
1.02M
    static_assert(
5071
1.02M
        scannable,
5072
1.02M
        "Cannot scan an argument. To make a type T scannable, provide "
5073
1.02M
        "a scn::scanner<T, CharT> specialization.");
5074
5075
1.02M
    return arg_value{arg};
5076
1.02M
}
auto scn::v3::detail::make_value_impl<unsigned long long&>(unsigned long long&)
Line
Count
Source
5049
905k
{
5050
905k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
905k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
905k
    constexpr bool scannable_char =
5054
905k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
905k
    static_assert(scannable_char,
5056
905k
                  "Cannot scan an argument of an unsupported character "
5057
905k
                  "type (i.e. char from a wchar_t source)");
5058
5059
905k
    constexpr bool scannable_const =
5060
905k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
905k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
905k
    constexpr bool scannable_disabled =
5064
905k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
905k
    static_assert(scannable_disabled,
5066
905k
                  "Cannot scan an argument that has been disabled by "
5067
905k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
905k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
905k
    static_assert(
5071
905k
        scannable,
5072
905k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
905k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
905k
    return arg_value{arg};
5076
905k
}
auto scn::v3::detail::make_value_impl<float&>(float&)
Line
Count
Source
5049
69.2k
{
5050
69.2k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
69.2k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
69.2k
    constexpr bool scannable_char =
5054
69.2k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
69.2k
    static_assert(scannable_char,
5056
69.2k
                  "Cannot scan an argument of an unsupported character "
5057
69.2k
                  "type (i.e. char from a wchar_t source)");
5058
5059
69.2k
    constexpr bool scannable_const =
5060
69.2k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
69.2k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
69.2k
    constexpr bool scannable_disabled =
5064
69.2k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
69.2k
    static_assert(scannable_disabled,
5066
69.2k
                  "Cannot scan an argument that has been disabled by "
5067
69.2k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
69.2k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
69.2k
    static_assert(
5071
69.2k
        scannable,
5072
69.2k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
69.2k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
69.2k
    return arg_value{arg};
5076
69.2k
}
auto scn::v3::detail::make_value_impl<long double&>(long double&)
Line
Count
Source
5049
92.1k
{
5050
92.1k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5051
92.1k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5052
5053
92.1k
    constexpr bool scannable_char =
5054
92.1k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5055
92.1k
    static_assert(scannable_char,
5056
92.1k
                  "Cannot scan an argument of an unsupported character "
5057
92.1k
                  "type (i.e. char from a wchar_t source)");
5058
5059
92.1k
    constexpr bool scannable_const =
5060
92.1k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5061
92.1k
    static_assert(scannable_const, "Cannot scan a const argument");
5062
5063
92.1k
    constexpr bool scannable_disabled =
5064
92.1k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5065
92.1k
    static_assert(scannable_disabled,
5066
92.1k
                  "Cannot scan an argument that has been disabled by "
5067
92.1k
                  "flag (SCN_DISABLE_TYPE_*)");
5068
5069
92.1k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5070
92.1k
    static_assert(
5071
92.1k
        scannable,
5072
92.1k
        "Cannot scan an argument. To make a type T scannable, provide "
5073
92.1k
        "a scn::scanner<T, CharT> specialization.");
5074
5075
92.1k
    return arg_value{arg};
5076
92.1k
}
5077
5078
template <typename Context, typename T>
5079
constexpr auto make_value(T& value)
5080
57.0M
{
5081
57.0M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
57.0M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
57.0M
                                  needs_context_tag>) {
5085
57.0M
        return make_value_impl(SCN_FWD(arg));
5086
57.0M
    }
5087
57.0M
    else {
5088
57.0M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
57.0M
            value, context_tag<Context>{}));
5090
57.0M
    }
5091
57.0M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, char>(char&)
Line
Count
Source
5080
9.04k
{
5081
9.04k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
9.04k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
9.04k
                                  needs_context_tag>) {
5085
9.04k
        return make_value_impl(SCN_FWD(arg));
5086
9.04k
    }
5087
9.04k
    else {
5088
9.04k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
9.04k
            value, context_tag<Context>{}));
5090
9.04k
    }
5091
9.04k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5080
856k
{
5081
856k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
856k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
856k
                                  needs_context_tag>) {
5085
856k
        return make_value_impl(SCN_FWD(arg));
5086
856k
    }
5087
856k
    else {
5088
856k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
856k
            value, context_tag<Context>{}));
5090
856k
    }
5091
856k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5080
742k
{
5081
742k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
742k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
742k
                                  needs_context_tag>) {
5085
742k
        return make_value_impl(SCN_FWD(arg));
5086
742k
    }
5087
742k
    else {
5088
742k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
742k
            value, context_tag<Context>{}));
5090
742k
    }
5091
742k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5080
99.5k
{
5081
99.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
99.5k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
99.5k
                                  needs_context_tag>) {
5085
99.5k
        return make_value_impl(SCN_FWD(arg));
5086
99.5k
    }
5087
99.5k
    else {
5088
99.5k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
99.5k
            value, context_tag<Context>{}));
5090
99.5k
    }
5091
99.5k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, bool>(bool&)
Line
Count
Source
5080
9.04k
{
5081
9.04k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
9.04k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
9.04k
                                  needs_context_tag>) {
5085
9.04k
        return make_value_impl(SCN_FWD(arg));
5086
9.04k
    }
5087
9.04k
    else {
5088
9.04k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
9.04k
            value, context_tag<Context>{}));
5090
9.04k
    }
5091
9.04k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, void*>(void*&)
Line
Count
Source
5080
9.04k
{
5081
9.04k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
9.04k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
9.04k
                                  needs_context_tag>) {
5085
9.04k
        return make_value_impl(SCN_FWD(arg));
5086
9.04k
    }
5087
9.04k
    else {
5088
9.04k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
9.04k
            value, context_tag<Context>{}));
5090
9.04k
    }
5091
9.04k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5080
318k
{
5081
318k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
318k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
318k
                                  needs_context_tag>) {
5085
318k
        return make_value_impl(SCN_FWD(arg));
5086
318k
    }
5087
318k
    else {
5088
318k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
318k
            value, context_tag<Context>{}));
5090
318k
    }
5091
318k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5080
9.04k
{
5081
9.04k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
9.04k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
9.04k
                                  needs_context_tag>) {
5085
9.04k
        return make_value_impl(SCN_FWD(arg));
5086
9.04k
    }
5087
9.04k
    else {
5088
9.04k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
9.04k
            value, context_tag<Context>{}));
5090
9.04k
    }
5091
9.04k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5080
163k
{
5081
163k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
163k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
163k
                                  needs_context_tag>) {
5085
163k
        return make_value_impl(SCN_FWD(arg));
5086
163k
    }
5087
163k
    else {
5088
163k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
163k
            value, context_tag<Context>{}));
5090
163k
    }
5091
163k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, wchar_t>(wchar_t&)
Line
Count
Source
5080
18.0k
{
5081
18.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
18.0k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
18.0k
                                  needs_context_tag>) {
5085
18.0k
        return make_value_impl(SCN_FWD(arg));
5086
18.0k
    }
5087
18.0k
    else {
5088
18.0k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
18.0k
            value, context_tag<Context>{}));
5090
18.0k
    }
5091
18.0k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5080
182k
{
5081
182k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
182k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
182k
                                  needs_context_tag>) {
5085
182k
        return make_value_impl(SCN_FWD(arg));
5086
182k
    }
5087
182k
    else {
5088
182k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
182k
            value, context_tag<Context>{}));
5090
182k
    }
5091
182k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5080
182k
{
5081
182k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
182k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
182k
                                  needs_context_tag>) {
5085
182k
        return make_value_impl(SCN_FWD(arg));
5086
182k
    }
5087
182k
    else {
5088
182k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
182k
            value, context_tag<Context>{}));
5090
182k
    }
5091
182k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5080
19.7k
{
5081
19.7k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
19.7k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
19.7k
                                  needs_context_tag>) {
5085
19.7k
        return make_value_impl(SCN_FWD(arg));
5086
19.7k
    }
5087
19.7k
    else {
5088
19.7k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
19.7k
            value, context_tag<Context>{}));
5090
19.7k
    }
5091
19.7k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, bool>(bool&)
Line
Count
Source
5080
18.0k
{
5081
18.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
18.0k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
18.0k
                                  needs_context_tag>) {
5085
18.0k
        return make_value_impl(SCN_FWD(arg));
5086
18.0k
    }
5087
18.0k
    else {
5088
18.0k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
18.0k
            value, context_tag<Context>{}));
5090
18.0k
    }
5091
18.0k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, void*>(void*&)
Line
Count
Source
5080
18.0k
{
5081
18.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
18.0k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
18.0k
                                  needs_context_tag>) {
5085
18.0k
        return make_value_impl(SCN_FWD(arg));
5086
18.0k
    }
5087
18.0k
    else {
5088
18.0k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
18.0k
            value, context_tag<Context>{}));
5090
18.0k
    }
5091
18.0k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5080
18.0k
{
5081
18.0k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
18.0k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
18.0k
                                  needs_context_tag>) {
5085
18.0k
        return make_value_impl(SCN_FWD(arg));
5086
18.0k
    }
5087
18.0k
    else {
5088
18.0k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
18.0k
            value, context_tag<Context>{}));
5090
18.0k
    }
5091
18.0k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5080
33.7M
{
5081
33.7M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
33.7M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
33.7M
                                  needs_context_tag>) {
5085
33.7M
        return make_value_impl(SCN_FWD(arg));
5086
33.7M
    }
5087
33.7M
    else {
5088
33.7M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
33.7M
            value, context_tag<Context>{}));
5090
33.7M
    }
5091
33.7M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5080
16.8M
{
5081
16.8M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
16.8M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
16.8M
                                  needs_context_tag>) {
5085
16.8M
        return make_value_impl(SCN_FWD(arg));
5086
16.8M
    }
5087
16.8M
    else {
5088
16.8M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
16.8M
            value, context_tag<Context>{}));
5090
16.8M
    }
5091
16.8M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5080
677k
{
5081
677k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
677k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
677k
                                  needs_context_tag>) {
5085
677k
        return make_value_impl(SCN_FWD(arg));
5086
677k
    }
5087
677k
    else {
5088
677k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
677k
            value, context_tag<Context>{}));
5090
677k
    }
5091
677k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5080
650k
{
5081
650k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
650k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
650k
                                  needs_context_tag>) {
5085
650k
        return make_value_impl(SCN_FWD(arg));
5086
650k
    }
5087
650k
    else {
5088
650k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
650k
            value, context_tag<Context>{}));
5090
650k
    }
5091
650k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5080
863k
{
5081
863k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
863k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
863k
                                  needs_context_tag>) {
5085
863k
        return make_value_impl(SCN_FWD(arg));
5086
863k
    }
5087
863k
    else {
5088
863k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
863k
            value, context_tag<Context>{}));
5090
863k
    }
5091
863k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5080
741k
{
5081
741k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
741k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
741k
                                  needs_context_tag>) {
5085
741k
        return make_value_impl(SCN_FWD(arg));
5086
741k
    }
5087
741k
    else {
5088
741k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
741k
            value, context_tag<Context>{}));
5090
741k
    }
5091
741k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5080
164k
{
5081
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
164k
                                  needs_context_tag>) {
5085
164k
        return make_value_impl(SCN_FWD(arg));
5086
164k
    }
5087
164k
    else {
5088
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
164k
            value, context_tag<Context>{}));
5090
164k
    }
5091
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5080
164k
{
5081
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
164k
                                  needs_context_tag>) {
5085
164k
        return make_value_impl(SCN_FWD(arg));
5086
164k
    }
5087
164k
    else {
5088
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
164k
            value, context_tag<Context>{}));
5090
164k
    }
5091
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5080
165k
{
5081
165k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
165k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
165k
                                  needs_context_tag>) {
5085
165k
        return make_value_impl(SCN_FWD(arg));
5086
165k
    }
5087
165k
    else {
5088
165k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
165k
            value, context_tag<Context>{}));
5090
165k
    }
5091
165k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5080
164k
{
5081
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
164k
                                  needs_context_tag>) {
5085
164k
        return make_value_impl(SCN_FWD(arg));
5086
164k
    }
5087
164k
    else {
5088
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
164k
            value, context_tag<Context>{}));
5090
164k
    }
5091
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5080
67.5k
{
5081
67.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
67.5k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
67.5k
                                  needs_context_tag>) {
5085
67.5k
        return make_value_impl(SCN_FWD(arg));
5086
67.5k
    }
5087
67.5k
    else {
5088
67.5k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
67.5k
            value, context_tag<Context>{}));
5090
67.5k
    }
5091
67.5k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5080
90.5k
{
5081
90.5k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
90.5k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
90.5k
                                  needs_context_tag>) {
5085
90.5k
        return make_value_impl(SCN_FWD(arg));
5086
90.5k
    }
5087
90.5k
    else {
5088
90.5k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
90.5k
            value, context_tag<Context>{}));
5090
90.5k
    }
5091
90.5k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5080
1.66k
{
5081
1.66k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
1.66k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
1.66k
                                  needs_context_tag>) {
5085
1.66k
        return make_value_impl(SCN_FWD(arg));
5086
1.66k
    }
5087
1.66k
    else {
5088
1.66k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
1.66k
            value, context_tag<Context>{}));
5090
1.66k
    }
5091
1.66k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5080
1.66k
{
5081
1.66k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5082
5083
1.66k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5084
1.66k
                                  needs_context_tag>) {
5085
1.66k
        return make_value_impl(SCN_FWD(arg));
5086
1.66k
    }
5087
1.66k
    else {
5088
1.66k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5089
1.66k
            value, context_tag<Context>{}));
5090
1.66k
    }
5091
1.66k
}
5092
5093
template <typename... Args>
5094
constexpr void check_scan_arg_types()
5095
57.0M
{
5096
57.0M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
57.0M
                  "Scan argument types must be default constructible");
5098
57.0M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
57.0M
                  "Scan argument types must be Destructible");
5100
57.0M
    static_assert(
5101
57.0M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
57.0M
        "Scan argument types must not be references");
5103
57.0M
}
void scn::v3::detail::check_scan_arg_types<char>()
Line
Count
Source
5095
9.04k
{
5096
9.04k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
9.04k
                  "Scan argument types must be default constructible");
5098
9.04k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
9.04k
                  "Scan argument types must be Destructible");
5100
9.04k
    static_assert(
5101
9.04k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
9.04k
        "Scan argument types must not be references");
5103
9.04k
}
void scn::v3::detail::check_scan_arg_types<int>()
Line
Count
Source
5095
1.03M
{
5096
1.03M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
1.03M
                  "Scan argument types must be default constructible");
5098
1.03M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
1.03M
                  "Scan argument types must be Destructible");
5100
1.03M
    static_assert(
5101
1.03M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
1.03M
        "Scan argument types must not be references");
5103
1.03M
}
void scn::v3::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5095
924k
{
5096
924k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
924k
                  "Scan argument types must be default constructible");
5098
924k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
924k
                  "Scan argument types must be Destructible");
5100
924k
    static_assert(
5101
924k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
924k
        "Scan argument types must not be references");
5103
924k
}
void scn::v3::detail::check_scan_arg_types<double>()
Line
Count
Source
5095
119k
{
5096
119k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
119k
                  "Scan argument types must be default constructible");
5098
119k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
119k
                  "Scan argument types must be Destructible");
5100
119k
    static_assert(
5101
119k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
119k
        "Scan argument types must not be references");
5103
119k
}
void scn::v3::detail::check_scan_arg_types<bool>()
Line
Count
Source
5095
27.1k
{
5096
27.1k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
27.1k
                  "Scan argument types must be default constructible");
5098
27.1k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
27.1k
                  "Scan argument types must be Destructible");
5100
27.1k
    static_assert(
5101
27.1k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
27.1k
        "Scan argument types must not be references");
5103
27.1k
}
void scn::v3::detail::check_scan_arg_types<void*>()
Line
Count
Source
5095
27.1k
{
5096
27.1k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
27.1k
                  "Scan argument types must be default constructible");
5098
27.1k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
27.1k
                  "Scan argument types must be Destructible");
5100
27.1k
    static_assert(
5101
27.1k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
27.1k
        "Scan argument types must not be references");
5103
27.1k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5095
336k
{
5096
336k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
336k
                  "Scan argument types must be default constructible");
5098
336k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
336k
                  "Scan argument types must be Destructible");
5100
336k
    static_assert(
5101
336k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
336k
        "Scan argument types must not be references");
5103
336k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5095
33.7M
{
5096
33.7M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
33.7M
                  "Scan argument types must be default constructible");
5098
33.7M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
33.7M
                  "Scan argument types must be Destructible");
5100
33.7M
    static_assert(
5101
33.7M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
33.7M
        "Scan argument types must not be references");
5103
33.7M
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5095
163k
{
5096
163k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
163k
                  "Scan argument types must be default constructible");
5098
163k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
163k
                  "Scan argument types must be Destructible");
5100
163k
    static_assert(
5101
163k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
163k
        "Scan argument types must not be references");
5103
163k
}
void scn::v3::detail::check_scan_arg_types<wchar_t>()
Line
Count
Source
5095
18.0k
{
5096
18.0k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
18.0k
                  "Scan argument types must be default constructible");
5098
18.0k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
18.0k
                  "Scan argument types must be Destructible");
5100
18.0k
    static_assert(
5101
18.0k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
18.0k
        "Scan argument types must not be references");
5103
18.0k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5095
16.8M
{
5096
16.8M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
16.8M
                  "Scan argument types must be default constructible");
5098
16.8M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
16.8M
                  "Scan argument types must be Destructible");
5100
16.8M
    static_assert(
5101
16.8M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
16.8M
        "Scan argument types must not be references");
5103
16.8M
}
void scn::v3::detail::check_scan_arg_types<signed char>()
Line
Count
Source
5095
842k
{
5096
842k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
842k
                  "Scan argument types must be default constructible");
5098
842k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
842k
                  "Scan argument types must be Destructible");
5100
842k
    static_assert(
5101
842k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
842k
        "Scan argument types must not be references");
5103
842k
}
void scn::v3::detail::check_scan_arg_types<unsigned char>()
Line
Count
Source
5095
814k
{
5096
814k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
814k
                  "Scan argument types must be default constructible");
5098
814k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
814k
                  "Scan argument types must be Destructible");
5100
814k
    static_assert(
5101
814k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
814k
        "Scan argument types must not be references");
5103
814k
}
void scn::v3::detail::check_scan_arg_types<long long>()
Line
Count
Source
5095
1.02M
{
5096
1.02M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
1.02M
                  "Scan argument types must be default constructible");
5098
1.02M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
1.02M
                  "Scan argument types must be Destructible");
5100
1.02M
    static_assert(
5101
1.02M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
1.02M
        "Scan argument types must not be references");
5103
1.02M
}
void scn::v3::detail::check_scan_arg_types<unsigned long long>()
Line
Count
Source
5095
905k
{
5096
905k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
905k
                  "Scan argument types must be default constructible");
5098
905k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
905k
                  "Scan argument types must be Destructible");
5100
905k
    static_assert(
5101
905k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
905k
        "Scan argument types must not be references");
5103
905k
}
void scn::v3::detail::check_scan_arg_types<float>()
Line
Count
Source
5095
69.2k
{
5096
69.2k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
69.2k
                  "Scan argument types must be default constructible");
5098
69.2k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
69.2k
                  "Scan argument types must be Destructible");
5100
69.2k
    static_assert(
5101
69.2k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
69.2k
        "Scan argument types must not be references");
5103
69.2k
}
void scn::v3::detail::check_scan_arg_types<long double>()
Line
Count
Source
5095
92.1k
{
5096
92.1k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5097
92.1k
                  "Scan argument types must be default constructible");
5098
92.1k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5099
92.1k
                  "Scan argument types must be Destructible");
5100
92.1k
    static_assert(
5101
92.1k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5102
92.1k
        "Scan argument types must not be references");
5103
92.1k
}
5104
5105
enum class scan_arg_store_kind {
5106
    // only built-in types (no custom types), packed
5107
    builtin,
5108
5109
    packed,
5110
    unpacked
5111
};
5112
5113
template <typename Context, typename T>
5114
constexpr basic_scan_arg<Context> make_arg(T& value)
5115
10.5M
{
5116
10.5M
    check_scan_arg_types<T>();
5117
5118
10.5M
    basic_scan_arg<Context> arg;
5119
10.5M
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
10.5M
    arg.m_value = make_value<Context>(value);
5121
10.5M
    return arg;
5122
10.5M
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5115
52.5k
{
5116
52.5k
    check_scan_arg_types<T>();
5117
5118
52.5k
    basic_scan_arg<Context> arg;
5119
52.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
52.5k
    arg.m_value = make_value<Context>(value);
5121
52.5k
    return arg;
5122
52.5k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5115
46.6k
{
5116
46.6k
    check_scan_arg_types<T>();
5117
5118
46.6k
    basic_scan_arg<Context> arg;
5119
46.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
46.6k
    arg.m_value = make_value<Context>(value);
5121
46.6k
    return arg;
5122
46.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5115
60.2k
{
5116
60.2k
    check_scan_arg_types<T>();
5117
5118
60.2k
    basic_scan_arg<Context> arg;
5119
60.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
60.2k
    arg.m_value = make_value<Context>(value);
5121
60.2k
    return arg;
5122
60.2k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5115
51.9k
{
5116
51.9k
    check_scan_arg_types<T>();
5117
5118
51.9k
    basic_scan_arg<Context> arg;
5119
51.9k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
51.9k
    arg.m_value = make_value<Context>(value);
5121
51.9k
    return arg;
5122
51.9k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5115
61.3k
{
5116
61.3k
    check_scan_arg_types<T>();
5117
5118
61.3k
    basic_scan_arg<Context> arg;
5119
61.3k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
61.3k
    arg.m_value = make_value<Context>(value);
5121
61.3k
    return arg;
5122
61.3k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5115
52.6k
{
5116
52.6k
    check_scan_arg_types<T>();
5117
5118
52.6k
    basic_scan_arg<Context> arg;
5119
52.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
52.6k
    arg.m_value = make_value<Context>(value);
5121
52.6k
    return arg;
5122
52.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5115
7.87k
{
5116
7.87k
    check_scan_arg_types<T>();
5117
5118
7.87k
    basic_scan_arg<Context> arg;
5119
7.87k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
7.87k
    arg.m_value = make_value<Context>(value);
5121
7.87k
    return arg;
5122
7.87k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5115
7.85k
{
5116
7.85k
    check_scan_arg_types<T>();
5117
5118
7.85k
    basic_scan_arg<Context> arg;
5119
7.85k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
7.85k
    arg.m_value = make_value<Context>(value);
5121
7.85k
    return arg;
5122
7.85k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5115
7.89k
{
5116
7.89k
    check_scan_arg_types<T>();
5117
5118
7.89k
    basic_scan_arg<Context> arg;
5119
7.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
7.89k
    arg.m_value = make_value<Context>(value);
5121
7.89k
    return arg;
5122
7.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5115
7.86k
{
5116
7.86k
    check_scan_arg_types<T>();
5117
5118
7.86k
    basic_scan_arg<Context> arg;
5119
7.86k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
7.86k
    arg.m_value = make_value<Context>(value);
5121
7.86k
    return arg;
5122
7.86k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5115
7.92k
{
5116
7.92k
    check_scan_arg_types<T>();
5117
5118
7.92k
    basic_scan_arg<Context> arg;
5119
7.92k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
7.92k
    arg.m_value = make_value<Context>(value);
5121
7.92k
    return arg;
5122
7.92k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5115
7.89k
{
5116
7.89k
    check_scan_arg_types<T>();
5117
5118
7.89k
    basic_scan_arg<Context> arg;
5119
7.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
7.89k
    arg.m_value = make_value<Context>(value);
5121
7.89k
    return arg;
5122
7.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5115
59.4k
{
5116
59.4k
    check_scan_arg_types<T>();
5117
5118
59.4k
    basic_scan_arg<Context> arg;
5119
59.4k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
59.4k
    arg.m_value = make_value<Context>(value);
5121
59.4k
    return arg;
5122
59.4k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5115
29.5k
{
5116
29.5k
    check_scan_arg_types<T>();
5117
5118
29.5k
    basic_scan_arg<Context> arg;
5119
29.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
29.5k
    arg.m_value = make_value<Context>(value);
5121
29.5k
    return arg;
5122
29.5k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5115
6.74M
{
5116
6.74M
    check_scan_arg_types<T>();
5117
5118
6.74M
    basic_scan_arg<Context> arg;
5119
6.74M
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
6.74M
    arg.m_value = make_value<Context>(value);
5121
6.74M
    return arg;
5122
6.74M
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5115
3.37M
{
5116
3.37M
    check_scan_arg_types<T>();
5117
5118
3.37M
    basic_scan_arg<Context> arg;
5119
3.37M
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
3.37M
    arg.m_value = make_value<Context>(value);
5121
3.37M
    return arg;
5122
3.37M
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5115
6.26k
{
5116
6.26k
    check_scan_arg_types<T>();
5117
5118
6.26k
    basic_scan_arg<Context> arg;
5119
6.26k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
6.26k
    arg.m_value = make_value<Context>(value);
5121
6.26k
    return arg;
5122
6.26k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5115
9.44k
{
5116
9.44k
    check_scan_arg_types<T>();
5117
5118
9.44k
    basic_scan_arg<Context> arg;
5119
9.44k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
9.44k
    arg.m_value = make_value<Context>(value);
5121
9.44k
    return arg;
5122
9.44k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5115
9.44k
{
5116
9.44k
    check_scan_arg_types<T>();
5117
5118
9.44k
    basic_scan_arg<Context> arg;
5119
9.44k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
9.44k
    arg.m_value = make_value<Context>(value);
5121
9.44k
    return arg;
5122
9.44k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5115
128
{
5116
128
    check_scan_arg_types<T>();
5117
5118
128
    basic_scan_arg<Context> arg;
5119
128
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
128
    arg.m_value = make_value<Context>(value);
5121
128
    return arg;
5122
128
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5115
128
{
5116
128
    check_scan_arg_types<T>();
5117
5118
128
    basic_scan_arg<Context> arg;
5119
128
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
128
    arg.m_value = make_value<Context>(value);
5121
128
    return arg;
5122
128
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5115
128
{
5116
128
    check_scan_arg_types<T>();
5117
5118
128
    basic_scan_arg<Context> arg;
5119
128
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5120
128
    arg.m_value = make_value<Context>(value);
5121
128
    return arg;
5122
128
}
5123
5124
template <scan_arg_store_kind Kind,
5125
          typename Context,
5126
          arg_type,
5127
          typename T,
5128
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5129
constexpr void* make_arg(T& value)
5130
46.4M
{
5131
46.4M
    return make_value<Context>(value).ref_value;
5132
46.4M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)12, char, void>(char&)
Line
Count
Source
5130
9.04k
{
5131
9.04k
    return make_value<Context>(value).ref_value;
5132
9.04k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5130
796k
{
5131
796k
    return make_value<Context>(value).ref_value;
5132
796k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5130
690k
{
5131
690k
    return make_value<Context>(value).ref_value;
5132
690k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5130
90.1k
{
5131
90.1k
    return make_value<Context>(value).ref_value;
5132
90.1k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5130
9.04k
{
5131
9.04k
    return make_value<Context>(value).ref_value;
5132
9.04k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5130
9.04k
{
5131
9.04k
    return make_value<Context>(value).ref_value;
5132
9.04k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5130
259k
{
5131
259k
    return make_value<Context>(value).ref_value;
5132
259k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5130
9.04k
{
5131
9.04k
    return make_value<Context>(value).ref_value;
5132
9.04k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)19, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5130
133k
{
5131
133k
    return make_value<Context>(value).ref_value;
5132
133k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)13, wchar_t, void>(wchar_t&)
Line
Count
Source
5130
18.0k
{
5131
18.0k
    return make_value<Context>(value).ref_value;
5132
18.0k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5130
175k
{
5131
175k
    return make_value<Context>(value).ref_value;
5132
175k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5130
174k
{
5131
174k
    return make_value<Context>(value).ref_value;
5132
174k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5130
19.6k
{
5131
19.6k
    return make_value<Context>(value).ref_value;
5132
19.6k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5130
18.0k
{
5131
18.0k
    return make_value<Context>(value).ref_value;
5132
18.0k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5130
18.0k
{
5131
18.0k
    return make_value<Context>(value).ref_value;
5132
18.0k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5130
18.0k
{
5131
18.0k
    return make_value<Context>(value).ref_value;
5132
18.0k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5130
27.0M
{
5131
27.0M
    return make_value<Context>(value).ref_value;
5132
27.0M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)20, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5130
13.5M
{
5131
13.5M
    return make_value<Context>(value).ref_value;
5132
13.5M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5130
624k
{
5131
624k
    return make_value<Context>(value).ref_value;
5132
624k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5130
603k
{
5131
603k
    return make_value<Context>(value).ref_value;
5132
603k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5130
801k
{
5131
801k
    return make_value<Context>(value).ref_value;
5132
801k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5130
688k
{
5131
688k
    return make_value<Context>(value).ref_value;
5132
688k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5130
156k
{
5131
156k
    return make_value<Context>(value).ref_value;
5132
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5130
156k
{
5131
156k
    return make_value<Context>(value).ref_value;
5132
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5130
157k
{
5131
157k
    return make_value<Context>(value).ref_value;
5132
157k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5130
156k
{
5131
156k
    return make_value<Context>(value).ref_value;
5132
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5130
61.3k
{
5131
61.3k
    return make_value<Context>(value).ref_value;
5132
61.3k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5130
81.0k
{
5131
81.0k
    return make_value<Context>(value).ref_value;
5132
81.0k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5130
1.53k
{
5131
1.53k
    return make_value<Context>(value).ref_value;
5132
1.53k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5130
1.53k
{
5131
1.53k
    return make_value<Context>(value).ref_value;
5132
1.53k
}
5133
template <scan_arg_store_kind Kind,
5134
          typename Context,
5135
          arg_type,
5136
          typename T,
5137
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5138
constexpr arg_value make_arg(T& value)
5139
{
5140
    return make_value<Context>(value);
5141
}
5142
template <scan_arg_store_kind Kind,
5143
          typename Context,
5144
          arg_type,
5145
          typename T,
5146
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5147
constexpr basic_scan_arg<Context> make_arg(T&& value)
5148
{
5149
    return make_arg<Context>(SCN_FWD(value));
5150
}
5151
5152
template <typename Context>
5153
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5154
}  // namespace detail
5155
5156
template <typename Visitor, typename Ctx>
5157
constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5158
                                        basic_scan_arg<Ctx>& arg);
5159
5160
/**
5161
 * Type-erased scanning argument.
5162
 *
5163
 * Contains a pointer to the value contained in a `scan_arg_store`.
5164
 */
5165
template <typename Context>
5166
class basic_scan_arg {
5167
public:
5168
    /**
5169
     * Enables scanning of a user-defined type.
5170
     *
5171
     * Contains a pointer to the value contained in a `scan_arg_store`, and
5172
     * a callback for parsing the format string, and scanning the value.
5173
     *
5174
     * \see scn::visit_scan_arg
5175
     */
5176
    class handle {
5177
    public:
5178
        /**
5179
         * Parse the format string in `parse_ctx`, and scan the value from
5180
         * `ctx`.
5181
         *
5182
         * \return Any error returned by the scanner
5183
         */
5184
        scan_error scan(typename Context::parse_context_type& parse_ctx,
5185
                        Context& ctx) const
5186
0
        {
5187
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
5188
0
        }
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::scan(scn::v3::basic_scan_parse_context<char>&, scn::v3::basic_scan_context<char>&) const
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::scan(scn::v3::basic_scan_parse_context<wchar_t>&, scn::v3::basic_scan_context<wchar_t>&) const
5189
5190
    private:
5191
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::handle(scn::v3::detail::custom_value_type)
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::handle(scn::v3::detail::custom_value_type)
5192
5193
        template <typename Visitor, typename C>
5194
        friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5195
                                                       basic_scan_arg<C>& arg);
5196
5197
        detail::custom_value_type m_custom;
5198
    };
5199
5200
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
5201
56.8M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::basic_scan_arg()
Line
Count
Source
5201
5.30M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::basic_scan_arg()
Line
Count
Source
5201
51.5M
    constexpr basic_scan_arg() = default;
5202
5203
    /**
5204
     * @return `true` if `*this` contains an argument
5205
     */
5206
    constexpr explicit operator bool() const noexcept
5207
81.5M
    {
5208
81.5M
        return m_type != detail::arg_type::none_type;
5209
81.5M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::operator bool() const
Line
Count
Source
5207
9.13M
    {
5208
9.13M
        return m_type != detail::arg_type::none_type;
5209
9.13M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::operator bool() const
Line
Count
Source
5207
72.4M
    {
5208
72.4M
        return m_type != detail::arg_type::none_type;
5209
72.4M
    }
5210
5211
    SCN_NODISCARD constexpr detail::arg_type type() const
5212
50.1M
    {
5213
50.1M
        return m_type;
5214
50.1M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::type() const
Line
Count
Source
5212
7.95M
    {
5213
7.95M
        return m_type;
5214
7.95M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::type() const
Line
Count
Source
5212
42.2M
    {
5213
42.2M
        return m_type;
5214
42.2M
    }
5215
5216
    SCN_NODISCARD constexpr detail::arg_value& value()
5217
    {
5218
        return m_value;
5219
    }
5220
    SCN_NODISCARD constexpr const detail::arg_value& value() const
5221
    {
5222
        return m_value;
5223
    }
5224
5225
private:
5226
    template <typename ContextType, typename T>
5227
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
5228
5229
    template <typename C>
5230
    friend constexpr detail::arg_value& detail::get_arg_value(
5231
        basic_scan_arg<C>& arg);
5232
5233
    template <typename Visitor, typename C>
5234
    friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5235
                                                   basic_scan_arg<C>& arg);
5236
5237
    friend class basic_scan_args<Context>;
5238
5239
    detail::arg_value m_value{};
5240
    detail::arg_type m_type{detail::arg_type::none_type};
5241
};
5242
5243
namespace detail {
5244
template <typename Context>
5245
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
5246
{
5247
    return arg.m_value;
5248
}
5249
5250
template <typename CharT>
5251
constexpr bool all_types_builtin()
5252
0
{
5253
0
    return true;
5254
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t>()
5255
template <typename CharT, typename T, typename... Args>
5256
constexpr bool all_types_builtin()
5257
0
{
5258
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
5259
0
           all_types_builtin<CharT, Args...>();
5260
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, wchar_t>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long double>()
5261
5262
template <typename CharT, typename... Args>
5263
constexpr scan_arg_store_kind determine_arg_store_kind()
5264
0
{
5265
0
    if (sizeof...(Args) > max_packed_args) {
5266
0
        return scan_arg_store_kind::unpacked;
5267
0
    }
5268
0
#if !(SCN_CLANG && SCN_APPLE)
5269
0
    // This doesn't work on Apple Clang. I don't know why
5270
0
    if (all_types_builtin<CharT, Args...>()) {
5271
0
        return scan_arg_store_kind::builtin;
5272
0
    }
5273
0
#endif
5274
0
    return scan_arg_store_kind::packed;
5275
0
}
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, wchar_t>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long double>()
5276
5277
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
5278
constexpr size_t compute_arg_store_desc()
5279
0
{
5280
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
5281
0
        return encode_types<CharT, Args...>();
5282
0
    }
5283
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
5284
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
5285
0
    }
5286
0
    else {
5287
0
        return sizeof...(Args) | is_unpacked_bit;
5288
0
    }
5289
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long double>()
5290
5291
template <typename Context, typename... Args>
5292
class scan_arg_store {
5293
public:
5294
    static constexpr scan_arg_store_kind kind =
5295
        determine_arg_store_kind<typename Context::char_type, Args...>();
5296
    static constexpr size_t desc =
5297
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
5298
5299
    using argptr_type = std::conditional_t<
5300
        kind == scan_arg_store_kind::builtin,
5301
        void*,
5302
        std::conditional_t<kind == scan_arg_store_kind::packed,
5303
                           arg_value,
5304
                           basic_scan_arg<Context>>>;
5305
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
5306
5307
    constexpr scan_arg_store()
5308
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5309
46.4M
    {
5310
46.4M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::scan_arg_store()
Line
Count
Source
5309
9.04k
    {
5310
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::scan_arg_store()
Line
Count
Source
5309
796k
    {
5310
796k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::scan_arg_store()
Line
Count
Source
5309
690k
    {
5310
690k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::scan_arg_store()
Line
Count
Source
5309
90.1k
    {
5310
90.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::scan_arg_store()
Line
Count
Source
5309
9.04k
    {
5310
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::scan_arg_store()
Line
Count
Source
5309
9.04k
    {
5310
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5309
259k
    {
5310
259k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5309
9.04k
    {
5310
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store()
Line
Count
Source
5309
133k
    {
5310
133k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::scan_arg_store()
Line
Count
Source
5309
18.0k
    {
5310
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::scan_arg_store()
Line
Count
Source
5309
175k
    {
5310
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::scan_arg_store()
Line
Count
Source
5309
174k
    {
5310
174k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::scan_arg_store()
Line
Count
Source
5309
19.6k
    {
5310
19.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::scan_arg_store()
Line
Count
Source
5309
18.0k
    {
5310
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::scan_arg_store()
Line
Count
Source
5309
18.0k
    {
5310
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5309
18.0k
    {
5310
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5309
27.0M
    {
5310
27.0M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store()
Line
Count
Source
5309
13.5M
    {
5310
13.5M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::scan_arg_store()
Line
Count
Source
5309
624k
    {
5310
624k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::scan_arg_store()
Line
Count
Source
5309
603k
    {
5310
603k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::scan_arg_store()
Line
Count
Source
5309
801k
    {
5310
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::scan_arg_store()
Line
Count
Source
5309
688k
    {
5310
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::scan_arg_store()
Line
Count
Source
5309
156k
    {
5310
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::scan_arg_store()
Line
Count
Source
5309
156k
    {
5310
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::scan_arg_store()
Line
Count
Source
5309
157k
    {
5310
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::scan_arg_store()
Line
Count
Source
5309
156k
    {
5310
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::scan_arg_store()
Line
Count
Source
5309
61.3k
    {
5310
61.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::scan_arg_store()
Line
Count
Source
5309
81.0k
    {
5310
81.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::scan_arg_store()
Line
Count
Source
5309
1.53k
    {
5310
1.53k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::scan_arg_store()
Line
Count
Source
5309
1.53k
    {
5310
1.53k
    }
5311
5312
    constexpr explicit scan_arg_store(std::tuple<Args...>&& a)
5313
        : m_args(std::move(a)),
5314
          m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5315
    {
5316
    }
5317
5318
    template <typename... A>
5319
    static constexpr argptrs_type make_argptrs(A&... args)
5320
46.4M
    {
5321
46.4M
        return {detail::make_arg<
5322
46.4M
            kind, Context,
5323
46.4M
            mapped_type_constant<remove_cvref_t<A>,
5324
46.4M
                                 typename Context::char_type>::value>(args)...};
5325
46.4M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::make_argptrs<char>(char&)
Line
Count
Source
5320
9.04k
    {
5321
9.04k
        return {detail::make_arg<
5322
9.04k
            kind, Context,
5323
9.04k
            mapped_type_constant<remove_cvref_t<A>,
5324
9.04k
                                 typename Context::char_type>::value>(args)...};
5325
9.04k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::make_argptrs<int>(int&)
Line
Count
Source
5320
796k
    {
5321
796k
        return {detail::make_arg<
5322
796k
            kind, Context,
5323
796k
            mapped_type_constant<remove_cvref_t<A>,
5324
796k
                                 typename Context::char_type>::value>(args)...};
5325
796k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5320
690k
    {
5321
690k
        return {detail::make_arg<
5322
690k
            kind, Context,
5323
690k
            mapped_type_constant<remove_cvref_t<A>,
5324
690k
                                 typename Context::char_type>::value>(args)...};
5325
690k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::make_argptrs<double>(double&)
Line
Count
Source
5320
90.1k
    {
5321
90.1k
        return {detail::make_arg<
5322
90.1k
            kind, Context,
5323
90.1k
            mapped_type_constant<remove_cvref_t<A>,
5324
90.1k
                                 typename Context::char_type>::value>(args)...};
5325
90.1k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5320
9.04k
    {
5321
9.04k
        return {detail::make_arg<
5322
9.04k
            kind, Context,
5323
9.04k
            mapped_type_constant<remove_cvref_t<A>,
5324
9.04k
                                 typename Context::char_type>::value>(args)...};
5325
9.04k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5320
9.04k
    {
5321
9.04k
        return {detail::make_arg<
5322
9.04k
            kind, Context,
5323
9.04k
            mapped_type_constant<remove_cvref_t<A>,
5324
9.04k
                                 typename Context::char_type>::value>(args)...};
5325
9.04k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5320
259k
    {
5321
259k
        return {detail::make_arg<
5322
259k
            kind, Context,
5323
259k
            mapped_type_constant<remove_cvref_t<A>,
5324
259k
                                 typename Context::char_type>::value>(args)...};
5325
259k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5320
9.04k
    {
5321
9.04k
        return {detail::make_arg<
5322
9.04k
            kind, Context,
5323
9.04k
            mapped_type_constant<remove_cvref_t<A>,
5324
9.04k
                                 typename Context::char_type>::value>(args)...};
5325
9.04k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5320
133k
    {
5321
133k
        return {detail::make_arg<
5322
133k
            kind, Context,
5323
133k
            mapped_type_constant<remove_cvref_t<A>,
5324
133k
                                 typename Context::char_type>::value>(args)...};
5325
133k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&)
Line
Count
Source
5320
18.0k
    {
5321
18.0k
        return {detail::make_arg<
5322
18.0k
            kind, Context,
5323
18.0k
            mapped_type_constant<remove_cvref_t<A>,
5324
18.0k
                                 typename Context::char_type>::value>(args)...};
5325
18.0k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
5320
175k
    {
5321
175k
        return {detail::make_arg<
5322
175k
            kind, Context,
5323
175k
            mapped_type_constant<remove_cvref_t<A>,
5324
175k
                                 typename Context::char_type>::value>(args)...};
5325
175k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5320
174k
    {
5321
174k
        return {detail::make_arg<
5322
174k
            kind, Context,
5323
174k
            mapped_type_constant<remove_cvref_t<A>,
5324
174k
                                 typename Context::char_type>::value>(args)...};
5325
174k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::make_argptrs<double>(double&)
Line
Count
Source
5320
19.6k
    {
5321
19.6k
        return {detail::make_arg<
5322
19.6k
            kind, Context,
5323
19.6k
            mapped_type_constant<remove_cvref_t<A>,
5324
19.6k
                                 typename Context::char_type>::value>(args)...};
5325
19.6k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5320
18.0k
    {
5321
18.0k
        return {detail::make_arg<
5322
18.0k
            kind, Context,
5323
18.0k
            mapped_type_constant<remove_cvref_t<A>,
5324
18.0k
                                 typename Context::char_type>::value>(args)...};
5325
18.0k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5320
18.0k
    {
5321
18.0k
        return {detail::make_arg<
5322
18.0k
            kind, Context,
5323
18.0k
            mapped_type_constant<remove_cvref_t<A>,
5324
18.0k
                                 typename Context::char_type>::value>(args)...};
5325
18.0k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5320
18.0k
    {
5321
18.0k
        return {detail::make_arg<
5322
18.0k
            kind, Context,
5323
18.0k
            mapped_type_constant<remove_cvref_t<A>,
5324
18.0k
                                 typename Context::char_type>::value>(args)...};
5325
18.0k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5320
27.0M
    {
5321
27.0M
        return {detail::make_arg<
5322
27.0M
            kind, Context,
5323
27.0M
            mapped_type_constant<remove_cvref_t<A>,
5324
27.0M
                                 typename Context::char_type>::value>(args)...};
5325
27.0M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5320
13.5M
    {
5321
13.5M
        return {detail::make_arg<
5322
13.5M
            kind, Context,
5323
13.5M
            mapped_type_constant<remove_cvref_t<A>,
5324
13.5M
                                 typename Context::char_type>::value>(args)...};
5325
13.5M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5320
624k
    {
5321
624k
        return {detail::make_arg<
5322
624k
            kind, Context,
5323
624k
            mapped_type_constant<remove_cvref_t<A>,
5324
624k
                                 typename Context::char_type>::value>(args)...};
5325
624k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5320
603k
    {
5321
603k
        return {detail::make_arg<
5322
603k
            kind, Context,
5323
603k
            mapped_type_constant<remove_cvref_t<A>,
5324
603k
                                 typename Context::char_type>::value>(args)...};
5325
603k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5320
801k
    {
5321
801k
        return {detail::make_arg<
5322
801k
            kind, Context,
5323
801k
            mapped_type_constant<remove_cvref_t<A>,
5324
801k
                                 typename Context::char_type>::value>(args)...};
5325
801k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5320
688k
    {
5321
688k
        return {detail::make_arg<
5322
688k
            kind, Context,
5323
688k
            mapped_type_constant<remove_cvref_t<A>,
5324
688k
                                 typename Context::char_type>::value>(args)...};
5325
688k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5320
156k
    {
5321
156k
        return {detail::make_arg<
5322
156k
            kind, Context,
5323
156k
            mapped_type_constant<remove_cvref_t<A>,
5324
156k
                                 typename Context::char_type>::value>(args)...};
5325
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5320
156k
    {
5321
156k
        return {detail::make_arg<
5322
156k
            kind, Context,
5323
156k
            mapped_type_constant<remove_cvref_t<A>,
5324
156k
                                 typename Context::char_type>::value>(args)...};
5325
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5320
157k
    {
5321
157k
        return {detail::make_arg<
5322
157k
            kind, Context,
5323
157k
            mapped_type_constant<remove_cvref_t<A>,
5324
157k
                                 typename Context::char_type>::value>(args)...};
5325
157k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5320
156k
    {
5321
156k
        return {detail::make_arg<
5322
156k
            kind, Context,
5323
156k
            mapped_type_constant<remove_cvref_t<A>,
5324
156k
                                 typename Context::char_type>::value>(args)...};
5325
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::make_argptrs<float>(float&)
Line
Count
Source
5320
61.3k
    {
5321
61.3k
        return {detail::make_arg<
5322
61.3k
            kind, Context,
5323
61.3k
            mapped_type_constant<remove_cvref_t<A>,
5324
61.3k
                                 typename Context::char_type>::value>(args)...};
5325
61.3k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5320
81.0k
    {
5321
81.0k
        return {detail::make_arg<
5322
81.0k
            kind, Context,
5323
81.0k
            mapped_type_constant<remove_cvref_t<A>,
5324
81.0k
                                 typename Context::char_type>::value>(args)...};
5325
81.0k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::make_argptrs<float>(float&)
Line
Count
Source
5320
1.53k
    {
5321
1.53k
        return {detail::make_arg<
5322
1.53k
            kind, Context,
5323
1.53k
            mapped_type_constant<remove_cvref_t<A>,
5324
1.53k
                                 typename Context::char_type>::value>(args)...};
5325
1.53k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5320
1.53k
    {
5321
1.53k
        return {detail::make_arg<
5322
1.53k
            kind, Context,
5323
1.53k
            mapped_type_constant<remove_cvref_t<A>,
5324
1.53k
                                 typename Context::char_type>::value>(args)...};
5325
1.53k
    }
5326
5327
    scan_arg_store(const scan_arg_store&) = delete;
5328
    scan_arg_store(scan_arg_store&&) = delete;
5329
    scan_arg_store& operator=(const scan_arg_store&) = delete;
5330
    scan_arg_store& operator=(scan_arg_store&&) = delete;
5331
27.2M
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5331
259k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5331
9.04k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5331
18.0k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5331
27.0M
    ~scan_arg_store() = default;
5332
5333
    std::tuple<Args...>& args()
5334
46.4M
    {
5335
46.4M
        return m_args;
5336
46.4M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::args()
Line
Count
Source
5334
9.04k
    {
5335
9.04k
        return m_args;
5336
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::args()
Line
Count
Source
5334
796k
    {
5335
796k
        return m_args;
5336
796k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::args()
Line
Count
Source
5334
690k
    {
5335
690k
        return m_args;
5336
690k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::args()
Line
Count
Source
5334
90.1k
    {
5335
90.1k
        return m_args;
5336
90.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::args()
Line
Count
Source
5334
9.04k
    {
5335
9.04k
        return m_args;
5336
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::args()
Line
Count
Source
5334
9.04k
    {
5335
9.04k
        return m_args;
5336
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5334
259k
    {
5335
259k
        return m_args;
5336
259k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5334
9.04k
    {
5335
9.04k
        return m_args;
5336
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::args()
Line
Count
Source
5334
133k
    {
5335
133k
        return m_args;
5336
133k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::args()
Line
Count
Source
5334
18.0k
    {
5335
18.0k
        return m_args;
5336
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::args()
Line
Count
Source
5334
175k
    {
5335
175k
        return m_args;
5336
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::args()
Line
Count
Source
5334
174k
    {
5335
174k
        return m_args;
5336
174k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::args()
Line
Count
Source
5334
19.6k
    {
5335
19.6k
        return m_args;
5336
19.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::args()
Line
Count
Source
5334
18.0k
    {
5335
18.0k
        return m_args;
5336
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::args()
Line
Count
Source
5334
18.0k
    {
5335
18.0k
        return m_args;
5336
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5334
18.0k
    {
5335
18.0k
        return m_args;
5336
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5334
27.0M
    {
5335
27.0M
        return m_args;
5336
27.0M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::args()
Line
Count
Source
5334
13.5M
    {
5335
13.5M
        return m_args;
5336
13.5M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::args()
Line
Count
Source
5334
624k
    {
5335
624k
        return m_args;
5336
624k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::args()
Line
Count
Source
5334
603k
    {
5335
603k
        return m_args;
5336
603k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::args()
Line
Count
Source
5334
801k
    {
5335
801k
        return m_args;
5336
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::args()
Line
Count
Source
5334
688k
    {
5335
688k
        return m_args;
5336
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::args()
Line
Count
Source
5334
156k
    {
5335
156k
        return m_args;
5336
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::args()
Line
Count
Source
5334
156k
    {
5335
156k
        return m_args;
5336
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::args()
Line
Count
Source
5334
157k
    {
5335
157k
        return m_args;
5336
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::args()
Line
Count
Source
5334
156k
    {
5335
156k
        return m_args;
5336
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::args()
Line
Count
Source
5334
61.3k
    {
5335
61.3k
        return m_args;
5336
61.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::args()
Line
Count
Source
5334
81.0k
    {
5335
81.0k
        return m_args;
5336
81.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::args()
Line
Count
Source
5334
1.53k
    {
5335
1.53k
        return m_args;
5336
1.53k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::args()
Line
Count
Source
5334
1.53k
    {
5335
1.53k
        return m_args;
5336
1.53k
    }
5337
5338
    argptrs_type& arg_pointers()
5339
46.4M
    {
5340
46.4M
        return m_argptrs;
5341
46.4M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::arg_pointers()
Line
Count
Source
5339
9.04k
    {
5340
9.04k
        return m_argptrs;
5341
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::arg_pointers()
Line
Count
Source
5339
796k
    {
5340
796k
        return m_argptrs;
5341
796k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::arg_pointers()
Line
Count
Source
5339
690k
    {
5340
690k
        return m_argptrs;
5341
690k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::arg_pointers()
Line
Count
Source
5339
90.1k
    {
5340
90.1k
        return m_argptrs;
5341
90.1k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::arg_pointers()
Line
Count
Source
5339
9.04k
    {
5340
9.04k
        return m_argptrs;
5341
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::arg_pointers()
Line
Count
Source
5339
9.04k
    {
5340
9.04k
        return m_argptrs;
5341
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5339
259k
    {
5340
259k
        return m_argptrs;
5341
259k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5339
9.04k
    {
5340
9.04k
        return m_argptrs;
5341
9.04k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::arg_pointers()
Line
Count
Source
5339
133k
    {
5340
133k
        return m_argptrs;
5341
133k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::arg_pointers()
Line
Count
Source
5339
18.0k
    {
5340
18.0k
        return m_argptrs;
5341
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::arg_pointers()
Line
Count
Source
5339
175k
    {
5340
175k
        return m_argptrs;
5341
175k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::arg_pointers()
Line
Count
Source
5339
174k
    {
5340
174k
        return m_argptrs;
5341
174k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::arg_pointers()
Line
Count
Source
5339
19.6k
    {
5340
19.6k
        return m_argptrs;
5341
19.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::arg_pointers()
Line
Count
Source
5339
18.0k
    {
5340
18.0k
        return m_argptrs;
5341
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::arg_pointers()
Line
Count
Source
5339
18.0k
    {
5340
18.0k
        return m_argptrs;
5341
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5339
18.0k
    {
5340
18.0k
        return m_argptrs;
5341
18.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5339
27.0M
    {
5340
27.0M
        return m_argptrs;
5341
27.0M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::arg_pointers()
Line
Count
Source
5339
13.5M
    {
5340
13.5M
        return m_argptrs;
5341
13.5M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::arg_pointers()
Line
Count
Source
5339
624k
    {
5340
624k
        return m_argptrs;
5341
624k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::arg_pointers()
Line
Count
Source
5339
603k
    {
5340
603k
        return m_argptrs;
5341
603k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::arg_pointers()
Line
Count
Source
5339
801k
    {
5340
801k
        return m_argptrs;
5341
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::arg_pointers()
Line
Count
Source
5339
688k
    {
5340
688k
        return m_argptrs;
5341
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::arg_pointers()
Line
Count
Source
5339
156k
    {
5340
156k
        return m_argptrs;
5341
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::arg_pointers()
Line
Count
Source
5339
156k
    {
5340
156k
        return m_argptrs;
5341
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::arg_pointers()
Line
Count
Source
5339
157k
    {
5340
157k
        return m_argptrs;
5341
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::arg_pointers()
Line
Count
Source
5339
156k
    {
5340
156k
        return m_argptrs;
5341
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::arg_pointers()
Line
Count
Source
5339
61.3k
    {
5340
61.3k
        return m_argptrs;
5341
61.3k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::arg_pointers()
Line
Count
Source
5339
81.0k
    {
5340
81.0k
        return m_argptrs;
5341
81.0k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::arg_pointers()
Line
Count
Source
5339
1.53k
    {
5340
1.53k
        return m_argptrs;
5341
1.53k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::arg_pointers()
Line
Count
Source
5339
1.53k
    {
5340
1.53k
        return m_argptrs;
5341
1.53k
    }
5342
5343
private:
5344
    std::tuple<Args...> m_args;
5345
    argptrs_type m_argptrs;
5346
};
5347
5348
}  // namespace detail
5349
5350
/**
5351
 * Constructs a `scan_arg_store` object, associated with `Context`,
5352
 * that contains value-initialized values of types `Args...`.
5353
 */
5354
template <typename Context = scan_context, typename... Args>
5355
constexpr auto make_scan_args()
5356
46.4M
{
5357
46.4M
    detail::check_scan_arg_types<Args...>();
5358
46.4M
    return detail::scan_arg_store<Context, Args...>{};
5359
46.4M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, char>()
Line
Count
Source
5356
9.04k
{
5357
9.04k
    detail::check_scan_arg_types<Args...>();
5358
9.04k
    return detail::scan_arg_store<Context, Args...>{};
5359
9.04k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, int>()
Line
Count
Source
5356
796k
{
5357
796k
    detail::check_scan_arg_types<Args...>();
5358
796k
    return detail::scan_arg_store<Context, Args...>{};
5359
796k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned int>()
Line
Count
Source
5356
690k
{
5357
690k
    detail::check_scan_arg_types<Args...>();
5358
690k
    return detail::scan_arg_store<Context, Args...>{};
5359
690k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, double>()
Line
Count
Source
5356
90.1k
{
5357
90.1k
    detail::check_scan_arg_types<Args...>();
5358
90.1k
    return detail::scan_arg_store<Context, Args...>{};
5359
90.1k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, bool>()
Line
Count
Source
5356
9.04k
{
5357
9.04k
    detail::check_scan_arg_types<Args...>();
5358
9.04k
    return detail::scan_arg_store<Context, Args...>{};
5359
9.04k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, void*>()
Line
Count
Source
5356
9.04k
{
5357
9.04k
    detail::check_scan_arg_types<Args...>();
5358
9.04k
    return detail::scan_arg_store<Context, Args...>{};
5359
9.04k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5356
259k
{
5357
259k
    detail::check_scan_arg_types<Args...>();
5358
259k
    return detail::scan_arg_store<Context, Args...>{};
5359
259k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5356
9.04k
{
5357
9.04k
    detail::check_scan_arg_types<Args...>();
5358
9.04k
    return detail::scan_arg_store<Context, Args...>{};
5359
9.04k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5356
133k
{
5357
133k
    detail::check_scan_arg_types<Args...>();
5358
133k
    return detail::scan_arg_store<Context, Args...>{};
5359
133k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, wchar_t>()
Line
Count
Source
5356
18.0k
{
5357
18.0k
    detail::check_scan_arg_types<Args...>();
5358
18.0k
    return detail::scan_arg_store<Context, Args...>{};
5359
18.0k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, int>()
Line
Count
Source
5356
175k
{
5357
175k
    detail::check_scan_arg_types<Args...>();
5358
175k
    return detail::scan_arg_store<Context, Args...>{};
5359
175k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned int>()
Line
Count
Source
5356
174k
{
5357
174k
    detail::check_scan_arg_types<Args...>();
5358
174k
    return detail::scan_arg_store<Context, Args...>{};
5359
174k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, double>()
Line
Count
Source
5356
19.6k
{
5357
19.6k
    detail::check_scan_arg_types<Args...>();
5358
19.6k
    return detail::scan_arg_store<Context, Args...>{};
5359
19.6k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, bool>()
Line
Count
Source
5356
18.0k
{
5357
18.0k
    detail::check_scan_arg_types<Args...>();
5358
18.0k
    return detail::scan_arg_store<Context, Args...>{};
5359
18.0k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, void*>()
Line
Count
Source
5356
18.0k
{
5357
18.0k
    detail::check_scan_arg_types<Args...>();
5358
18.0k
    return detail::scan_arg_store<Context, Args...>{};
5359
18.0k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5356
18.0k
{
5357
18.0k
    detail::check_scan_arg_types<Args...>();
5358
18.0k
    return detail::scan_arg_store<Context, Args...>{};
5359
18.0k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5356
27.0M
{
5357
27.0M
    detail::check_scan_arg_types<Args...>();
5358
27.0M
    return detail::scan_arg_store<Context, Args...>{};
5359
27.0M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5356
13.5M
{
5357
13.5M
    detail::check_scan_arg_types<Args...>();
5358
13.5M
    return detail::scan_arg_store<Context, Args...>{};
5359
13.5M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, signed char>()
Line
Count
Source
5356
624k
{
5357
624k
    detail::check_scan_arg_types<Args...>();
5358
624k
    return detail::scan_arg_store<Context, Args...>{};
5359
624k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned char>()
Line
Count
Source
5356
603k
{
5357
603k
    detail::check_scan_arg_types<Args...>();
5358
603k
    return detail::scan_arg_store<Context, Args...>{};
5359
603k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long long>()
Line
Count
Source
5356
801k
{
5357
801k
    detail::check_scan_arg_types<Args...>();
5358
801k
    return detail::scan_arg_store<Context, Args...>{};
5359
801k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned long long>()
Line
Count
Source
5356
688k
{
5357
688k
    detail::check_scan_arg_types<Args...>();
5358
688k
    return detail::scan_arg_store<Context, Args...>{};
5359
688k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, signed char>()
Line
Count
Source
5356
156k
{
5357
156k
    detail::check_scan_arg_types<Args...>();
5358
156k
    return detail::scan_arg_store<Context, Args...>{};
5359
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned char>()
Line
Count
Source
5356
156k
{
5357
156k
    detail::check_scan_arg_types<Args...>();
5358
156k
    return detail::scan_arg_store<Context, Args...>{};
5359
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long long>()
Line
Count
Source
5356
157k
{
5357
157k
    detail::check_scan_arg_types<Args...>();
5358
157k
    return detail::scan_arg_store<Context, Args...>{};
5359
157k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned long long>()
Line
Count
Source
5356
156k
{
5357
156k
    detail::check_scan_arg_types<Args...>();
5358
156k
    return detail::scan_arg_store<Context, Args...>{};
5359
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, float>()
Line
Count
Source
5356
61.3k
{
5357
61.3k
    detail::check_scan_arg_types<Args...>();
5358
61.3k
    return detail::scan_arg_store<Context, Args...>{};
5359
61.3k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long double>()
Line
Count
Source
5356
81.0k
{
5357
81.0k
    detail::check_scan_arg_types<Args...>();
5358
81.0k
    return detail::scan_arg_store<Context, Args...>{};
5359
81.0k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, float>()
Line
Count
Source
5356
1.53k
{
5357
1.53k
    detail::check_scan_arg_types<Args...>();
5358
1.53k
    return detail::scan_arg_store<Context, Args...>{};
5359
1.53k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long double>()
Line
Count
Source
5356
1.53k
{
5357
1.53k
    detail::check_scan_arg_types<Args...>();
5358
1.53k
    return detail::scan_arg_store<Context, Args...>{};
5359
1.53k
}
5360
/**
5361
 * Constructs a `scan_arg_store` object, associated with `Context`,
5362
 * that contains `values`.
5363
 */
5364
template <typename Context = scan_context, typename... Args>
5365
constexpr auto make_scan_args(std::tuple<Args...>&& values)
5366
{
5367
    detail::check_scan_arg_types<Args...>();
5368
    return detail::scan_arg_store<Context, Args...>{SCN_MOVE(values)};
5369
}
5370
5371
/**
5372
 * A view over a collection of scanning arguments (`scan_arg_store`).
5373
 *
5374
 * Passed to `scn::vscan`, where it's automatically constructed from a
5375
 * `scan_arg_store`.
5376
 */
5377
template <typename Context>
5378
class basic_scan_args {
5379
public:
5380
10.5M
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args()
Line
Count
Source
5380
439k
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args()
Line
Count
Source
5380
10.1M
    constexpr basic_scan_args() = default;
5381
5382
    template <typename... Args>
5383
    SCN_IMPLICIT constexpr basic_scan_args(
5384
        detail::scan_arg_store<Context, Args...>& store)
5385
        : basic_scan_args(store.desc, store.arg_pointers().data())
5386
46.4M
    {
5387
46.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>&)
Line
Count
Source
5386
9.04k
    {
5387
9.04k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>&)
Line
Count
Source
5386
796k
    {
5387
796k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>&)
Line
Count
Source
5386
690k
    {
5387
690k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>&)
Line
Count
Source
5386
90.1k
    {
5387
90.1k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>&)
Line
Count
Source
5386
9.04k
    {
5387
9.04k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>&)
Line
Count
Source
5386
9.04k
    {
5387
9.04k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5386
259k
    {
5387
259k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5386
9.04k
    {
5387
9.04k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
5386
133k
    {
5387
133k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<wchar_t>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>&)
Line
Count
Source
5386
18.0k
    {
5387
18.0k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>&)
Line
Count
Source
5386
175k
    {
5387
175k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>&)
Line
Count
Source
5386
174k
    {
5387
174k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>&)
Line
Count
Source
5386
19.6k
    {
5387
19.6k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>&)
Line
Count
Source
5386
18.0k
    {
5387
18.0k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>&)
Line
Count
Source
5386
18.0k
    {
5387
18.0k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5386
18.0k
    {
5387
18.0k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5386
27.0M
    {
5387
27.0M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
5386
13.5M
    {
5387
13.5M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>&)
Line
Count
Source
5386
624k
    {
5387
624k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>&)
Line
Count
Source
5386
603k
    {
5387
603k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>&)
Line
Count
Source
5386
801k
    {
5387
801k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>&)
Line
Count
Source
5386
688k
    {
5387
688k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>&)
Line
Count
Source
5386
156k
    {
5387
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>&)
Line
Count
Source
5386
156k
    {
5387
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>&)
Line
Count
Source
5386
157k
    {
5387
157k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>&)
Line
Count
Source
5386
156k
    {
5387
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>&)
Line
Count
Source
5386
61.3k
    {
5387
61.3k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>&)
Line
Count
Source
5386
81.0k
    {
5387
81.0k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>&)
Line
Count
Source
5386
1.53k
    {
5387
1.53k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>&)
Line
Count
Source
5386
1.53k
    {
5387
1.53k
    }
5388
5389
    /**
5390
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
5391
     * there's no argument at index `id`.
5392
     */
5393
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
5394
46.2M
    {
5395
46.2M
        if (SCN_UNLIKELY(!is_packed())) {
5396
0
            if (SCN_LIKELY(id < max_size())) {
5397
0
                return m_args[id];
5398
0
            }
5399
0
            return {};
5400
0
        }
5401
5402
46.2M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5403
108
            return {};
5404
108
        }
5405
5406
46.2M
        const auto t = type(id);
5407
46.2M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5408
1.84k
            return {};
5409
1.84k
        }
5410
5411
46.2M
        basic_scan_arg<Context> arg;
5412
46.2M
        arg.m_type = t;
5413
46.2M
        if (is_only_builtin()) {
5414
46.2M
            arg.m_value.ref_value = m_builtin_values[id];
5415
46.2M
        }
5416
0
        else {
5417
0
            arg.m_value = m_values[id];
5418
0
        }
5419
46.2M
        return arg;
5420
46.2M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::get(unsigned long) const
Line
Count
Source
5394
4.86M
    {
5395
4.86M
        if (SCN_UNLIKELY(!is_packed())) {
5396
0
            if (SCN_LIKELY(id < max_size())) {
5397
0
                return m_args[id];
5398
0
            }
5399
0
            return {};
5400
0
        }
5401
5402
4.86M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5403
90
            return {};
5404
90
        }
5405
5406
4.86M
        const auto t = type(id);
5407
4.86M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5408
1.80k
            return {};
5409
1.80k
        }
5410
5411
4.86M
        basic_scan_arg<Context> arg;
5412
4.86M
        arg.m_type = t;
5413
4.86M
        if (is_only_builtin()) {
5414
4.86M
            arg.m_value.ref_value = m_builtin_values[id];
5415
4.86M
        }
5416
0
        else {
5417
0
            arg.m_value = m_values[id];
5418
0
        }
5419
4.86M
        return arg;
5420
4.86M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::get(unsigned long) const
Line
Count
Source
5394
41.4M
    {
5395
41.4M
        if (SCN_UNLIKELY(!is_packed())) {
5396
0
            if (SCN_LIKELY(id < max_size())) {
5397
0
                return m_args[id];
5398
0
            }
5399
0
            return {};
5400
0
        }
5401
5402
41.4M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5403
18
            return {};
5404
18
        }
5405
5406
41.4M
        const auto t = type(id);
5407
41.4M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5408
40
            return {};
5409
40
        }
5410
5411
41.4M
        basic_scan_arg<Context> arg;
5412
41.4M
        arg.m_type = t;
5413
41.4M
        if (is_only_builtin()) {
5414
41.4M
            arg.m_value.ref_value = m_builtin_values[id];
5415
41.4M
        }
5416
0
        else {
5417
0
            arg.m_value = m_values[id];
5418
0
        }
5419
41.4M
        return arg;
5420
41.4M
    }
5421
5422
    /**
5423
     * \return Number of arguments in `*this`.
5424
     */
5425
    SCN_NODISCARD constexpr std::size_t size() const
5426
46.4M
    {
5427
46.4M
        if (SCN_UNLIKELY(!is_packed())) {
5428
0
            return max_size();
5429
0
        }
5430
5431
46.4M
        return static_cast<std::size_t>(m_desc &
5432
46.4M
                                        ((1 << detail::packed_arg_bits) - 1));
5433
46.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::size() const
Line
Count
Source
5426
4.86M
    {
5427
4.86M
        if (SCN_UNLIKELY(!is_packed())) {
5428
0
            return max_size();
5429
0
        }
5430
5431
4.86M
        return static_cast<std::size_t>(m_desc &
5432
4.86M
                                        ((1 << detail::packed_arg_bits) - 1));
5433
4.86M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::size() const
Line
Count
Source
5426
41.5M
    {
5427
41.5M
        if (SCN_UNLIKELY(!is_packed())) {
5428
0
            return max_size();
5429
0
        }
5430
5431
41.5M
        return static_cast<std::size_t>(m_desc &
5432
41.5M
                                        ((1 << detail::packed_arg_bits) - 1));
5433
41.5M
    }
5434
5435
private:
5436
    constexpr explicit basic_scan_args(size_t desc, void** data)
5437
        : m_desc(desc), m_builtin_values(data)
5438
46.4M
    {
5439
46.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5438
4.86M
    {
5439
4.86M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5438
41.5M
    {
5439
41.5M
    }
5440
    constexpr explicit basic_scan_args(size_t desc, detail::arg_value* data)
5441
        : m_desc(desc), m_values(data)
5442
    {
5443
    }
5444
    constexpr explicit basic_scan_args(size_t desc,
5445
                                       basic_scan_arg<Context>* data)
5446
        : m_desc(desc), m_args(data)
5447
    {
5448
    }
5449
5450
    SCN_NODISCARD constexpr bool is_packed() const
5451
92.7M
    {
5452
92.7M
        return (m_desc & detail::is_unpacked_bit) == 0;
5453
92.7M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_packed() const
Line
Count
Source
5451
9.73M
    {
5452
9.73M
        return (m_desc & detail::is_unpacked_bit) == 0;
5453
9.73M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_packed() const
Line
Count
Source
5451
83.0M
    {
5452
83.0M
        return (m_desc & detail::is_unpacked_bit) == 0;
5453
83.0M
    }
5454
    SCN_NODISCARD constexpr bool is_only_builtin() const
5455
46.2M
    {
5456
46.2M
        return (m_desc & detail::has_custom_types_bit) == 0;
5457
46.2M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_only_builtin() const
Line
Count
Source
5455
4.86M
    {
5456
4.86M
        return (m_desc & detail::has_custom_types_bit) == 0;
5457
4.86M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_only_builtin() const
Line
Count
Source
5455
41.4M
    {
5456
41.4M
        return (m_desc & detail::has_custom_types_bit) == 0;
5457
41.4M
    }
5458
5459
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
5460
46.2M
    {
5461
        // First (0th) index is size, types start after that
5462
46.2M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5463
46.2M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5464
46.2M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5465
46.2M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::type(unsigned long) const
Line
Count
Source
5460
4.86M
    {
5461
        // First (0th) index is size, types start after that
5462
4.86M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5463
4.86M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5464
4.86M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5465
4.86M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::type(unsigned long) const
Line
Count
Source
5460
41.4M
    {
5461
        // First (0th) index is size, types start after that
5462
41.4M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5463
41.4M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5464
41.4M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5465
41.4M
    }
5466
5467
    SCN_NODISCARD constexpr std::size_t max_size() const
5468
0
    {
5469
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
5470
0
                                       : (m_desc & ~detail::is_unpacked_bit &
5471
0
                                          ~detail::has_custom_types_bit);
5472
0
    }
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::max_size() const
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::max_size() const
5473
5474
    size_t m_desc{0};
5475
    union {
5476
        void** m_builtin_values;
5477
        detail::arg_value* m_values;
5478
        basic_scan_arg<Context>* m_args{nullptr};
5479
    };
5480
};
5481
5482
/////////////////////////////////////////////////////////////////
5483
// scan_parse_context
5484
/////////////////////////////////////////////////////////////////
5485
5486
/**
5487
 * Format string parsing context, wrapping the format string being parsed,
5488
 * and a counter for argument indexing.
5489
 *
5490
 * \ingroup ctx
5491
 */
5492
template <typename CharT>
5493
class basic_scan_parse_context {
5494
public:
5495
    using char_type = CharT;
5496
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
5497
5498
    /**
5499
     * Construct a `basic_scan_parse_context` over a format string `format`.
5500
     */
5501
    explicit constexpr basic_scan_parse_context(
5502
        std::basic_string_view<CharT> format,
5503
        int next_arg_id = 0)
5504
        : m_format{format}, m_next_arg_id{next_arg_id}
5505
25.2M
    {
5506
25.2M
    }
scn::v3::basic_scan_parse_context<char>::basic_scan_parse_context(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
5505
3.98M
    {
5506
3.98M
    }
scn::v3::basic_scan_parse_context<wchar_t>::basic_scan_parse_context(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
5505
21.2M
    {
5506
21.2M
    }
5507
5508
    /// Returns an iterator pointing to the beginning of the format string
5509
    constexpr auto begin() const noexcept
5510
49.7M
    {
5511
49.7M
        return m_format.data();
5512
49.7M
    }
scn::v3::basic_scan_parse_context<char>::begin() const
Line
Count
Source
5510
7.79M
    {
5511
7.79M
        return m_format.data();
5512
7.79M
    }
scn::v3::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
5510
41.9M
    {
5511
41.9M
        return m_format.data();
5512
41.9M
    }
5513
    /// Returns an iterator pointing to the end of the format string
5514
    constexpr auto end() const noexcept
5515
    {
5516
        return m_format.data() + m_format.size();
5517
    }
5518
5519
    /// Advance the beginning of the format string to `it`
5520
    constexpr void advance_to(iterator it)
5521
24.6M
    {
5522
24.6M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5523
24.6M
    }
scn::v3::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
5521
3.82M
    {
5522
3.82M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5523
3.82M
    }
scn::v3::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
5521
20.8M
    {
5522
20.8M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5523
20.8M
    }
5524
5525
    constexpr size_t next_arg_id()
5526
25.0M
    {
5527
25.0M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5528
62
            on_error(
5529
62
                "Cannot switch from manual to automatic argument indexing");
5530
62
            return 0;
5531
62
        }
5532
5533
25.0M
        auto id = static_cast<size_t>(m_next_arg_id++);
5534
25.0M
        do_check_arg_id(id);
5535
25.0M
        return id;
5536
25.0M
    }
scn::v3::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
5526
3.98M
    {
5527
3.98M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5528
62
            on_error(
5529
62
                "Cannot switch from manual to automatic argument indexing");
5530
62
            return 0;
5531
62
        }
5532
5533
3.98M
        auto id = static_cast<size_t>(m_next_arg_id++);
5534
3.98M
        do_check_arg_id(id);
5535
3.98M
        return id;
5536
3.98M
    }
scn::v3::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
5526
21.1M
    {
5527
21.1M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5528
0
            on_error(
5529
0
                "Cannot switch from manual to automatic argument indexing");
5530
0
            return 0;
5531
0
        }
5532
5533
21.1M
        auto id = static_cast<size_t>(m_next_arg_id++);
5534
21.1M
        do_check_arg_id(id);
5535
21.1M
        return id;
5536
21.1M
    }
5537
5538
    constexpr void check_arg_id(std::size_t id)
5539
4.88k
    {
5540
4.88k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5541
100
            on_error(
5542
100
                "Cannot switch from manual to automatic argument indexing");
5543
100
            return;
5544
100
        }
5545
4.78k
        m_next_arg_id = -1;
5546
4.78k
        do_check_arg_id(id);
5547
4.78k
    }
scn::v3::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Line
Count
Source
5539
4.85k
    {
5540
4.85k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5541
100
            on_error(
5542
100
                "Cannot switch from manual to automatic argument indexing");
5543
100
            return;
5544
100
        }
5545
4.75k
        m_next_arg_id = -1;
5546
4.75k
        do_check_arg_id(id);
5547
4.75k
    }
scn::v3::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
Line
Count
Source
5539
36
    {
5540
36
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5541
0
            on_error(
5542
0
                "Cannot switch from manual to automatic argument indexing");
5543
0
            return;
5544
0
        }
5545
36
        m_next_arg_id = -1;
5546
36
        do_check_arg_id(id);
5547
36
    }
5548
5549
    constexpr scan_error on_error(const char* msg) const
5550
162
    {
5551
162
        return detail::handle_error(
5552
162
            scan_error{scan_error::invalid_format_string, msg});
5553
162
    }
scn::v3::basic_scan_parse_context<char>::on_error(char const*) const
Line
Count
Source
5550
162
    {
5551
162
        return detail::handle_error(
5552
162
            scan_error{scan_error::invalid_format_string, msg});
5553
162
    }
Unexecuted instantiation: scn::v3::basic_scan_parse_context<wchar_t>::on_error(char const*) const
5554
5555
protected:
5556
    constexpr void do_check_arg_id(size_t id);
5557
5558
    std::basic_string_view<CharT> m_format;
5559
    int m_next_arg_id{0};
5560
};
5561
5562
/////////////////////////////////////////////////////////////////
5563
// Result types
5564
/////////////////////////////////////////////////////////////////
5565
5566
namespace detail {
5567
template <typename... Args>
5568
struct scan_result_value_storage {
5569
public:
5570
    using tuple_type = std::tuple<Args...>;
5571
5572
    constexpr scan_result_value_storage() = default;
5573
5574
    constexpr scan_result_value_storage(tuple_type&& values)
5575
        : m_values(SCN_MOVE(values))
5576
55.2M
    {
5577
55.2M
    }
scn::v3::detail::scan_result_value_storage<char>::scan_result_value_storage(std::__1::tuple<char>&&)
Line
Count
Source
5576
180
    {
5577
180
    }
scn::v3::detail::scan_result_value_storage<int>::scan_result_value_storage(std::__1::tuple<int>&&)
Line
Count
Source
5576
767k
    {
5577
767k
    }
scn::v3::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage(std::__1::tuple<unsigned int>&&)
Line
Count
Source
5576
652k
    {
5577
652k
    }
scn::v3::detail::scan_result_value_storage<double>::scan_result_value_storage(std::__1::tuple<double>&&)
Line
Count
Source
5576
89.6k
    {
5577
89.6k
    }
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<bool>::scan_result_value_storage(std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<void*>::scan_result_value_storage(std::__1::tuple<void*>&&)
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5576
292k
    {
5577
292k
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5576
33.6M
    {
5577
33.6M
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5576
145k
    {
5577
145k
    }
scn::v3::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage(std::__1::tuple<wchar_t>&&)
Line
Count
Source
5576
2
    {
5577
2
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5576
16.8M
    {
5577
16.8M
    }
scn::v3::detail::scan_result_value_storage<signed char>::scan_result_value_storage(std::__1::tuple<signed char>&&)
Line
Count
Source
5576
596k
    {
5577
596k
    }
scn::v3::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage(std::__1::tuple<unsigned char>&&)
Line
Count
Source
5576
569k
    {
5577
569k
    }
scn::v3::detail::scan_result_value_storage<long long>::scan_result_value_storage(std::__1::tuple<long long>&&)
Line
Count
Source
5576
783k
    {
5577
783k
    }
scn::v3::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage(std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5576
660k
    {
5577
660k
    }
scn::v3::detail::scan_result_value_storage<float>::scan_result_value_storage(std::__1::tuple<float>&&)
Line
Count
Source
5576
66.7k
    {
5577
66.7k
    }
scn::v3::detail::scan_result_value_storage<long double>::scan_result_value_storage(std::__1::tuple<long double>&&)
Line
Count
Source
5576
89.6k
    {
5577
89.6k
    }
5578
5579
    /// Access the scanned values
5580
    tuple_type& values() &
5581
    {
5582
        return m_values;
5583
    }
5584
    /// Access the scanned values
5585
    const tuple_type& values() const&
5586
    {
5587
        return m_values;
5588
    }
5589
    /// Access the scanned values
5590
    tuple_type&& values() &&
5591
    {
5592
        return SCN_MOVE(m_values);
5593
    }
5594
    /// Access the scanned values
5595
    const tuple_type&& values() const&&
5596
    {
5597
        return SCN_MOVE(m_values);
5598
    }
5599
5600
    /// Access the single scanned value
5601
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5602
    decltype(auto) value() &
5603
    {
5604
        return std::get<0>(m_values);
5605
    }
5606
    /// Access the single scanned value
5607
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5608
    decltype(auto) value() const&
5609
    {
5610
        return std::get<0>(m_values);
5611
    }
5612
    /// Access the single scanned value
5613
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5614
    decltype(auto) value() &&
5615
    {
5616
        return SCN_MOVE(std::get<0>(m_values));
5617
    }
5618
    /// Access the single scanned value
5619
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5620
    decltype(auto) value() const&&
5621
    {
5622
        return SCN_MOVE(std::get<0>(m_values));
5623
    }
5624
5625
private:
5626
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
5627
};
5628
5629
struct scan_result_convert_tag {};
5630
5631
template <typename Range>
5632
struct scan_result_range_storage {
5633
public:
5634
    using range_type = Range;
5635
    using iterator = ranges::iterator_t<Range>;
5636
    using sentinel = ranges::sentinel_t<Range>;
5637
5638
    constexpr scan_result_range_storage() = default;
5639
5640
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5641
55.2M
    {
5642
55.2M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
5641
2.42M
    {
5642
2.42M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
5641
33.6M
    {
5642
33.6M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
5641
2.28M
    {
5642
2.28M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
5641
16.8M
    {
5642
16.8M
    }
5643
5644
    template <typename R>
5645
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
5646
        : m_range(SCN_MOVE(r))
5647
    {
5648
    }
5649
5650
    /// Access the ununsed source range
5651
    range_type range() const
5652
    {
5653
        return m_range;
5654
    }
5655
5656
    /// The beginning of the unused source range
5657
    auto begin() const
5658
55.2M
    {
5659
55.2M
        return ranges::begin(m_range);
5660
55.2M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
5658
2.42M
    {
5659
2.42M
        return ranges::begin(m_range);
5660
2.42M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
5658
2.28M
    {
5659
2.28M
        return ranges::begin(m_range);
5660
2.28M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
5658
33.6M
    {
5659
33.6M
        return ranges::begin(m_range);
5660
33.6M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
5658
16.8M
    {
5659
16.8M
        return ranges::begin(m_range);
5660
16.8M
    }
5661
    /// The end of the unused source range
5662
    auto end() const
5663
0
    {
5664
0
        return ranges::end(m_range);
5665
0
    }
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
5666
5667
protected:
5668
    template <typename Other>
5669
    void assign_range(Other&& r)
5670
    {
5671
        m_range = r.m_range;
5672
    }
5673
5674
private:
5675
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
5676
};
5677
5678
struct scan_result_file_storage {
5679
public:
5680
    using range_type = std::FILE*;
5681
5682
    constexpr scan_result_file_storage() = default;
5683
5684
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
5685
5686
    /// File used for scanning
5687
    std::FILE* file() const
5688
0
    {
5689
0
        return m_file;
5690
0
    }
5691
5692
protected:
5693
    void assign_range(const scan_result_file_storage& f)
5694
0
    {
5695
0
        m_file = f.m_file;
5696
0
    }
5697
5698
private:
5699
    std::FILE* m_file{nullptr};
5700
};
5701
5702
struct scan_result_dangling {
5703
    using range_type = ranges::dangling;
5704
5705
    constexpr scan_result_dangling() = default;
5706
5707
    template <typename... Args>
5708
    explicit constexpr scan_result_dangling(Args&&...)
5709
    {
5710
    }
5711
5712
    range_type range() const
5713
0
    {
5714
0
        return {};
5715
0
    }
5716
5717
    ranges::dangling begin() const
5718
0
    {
5719
0
        return {};
5720
0
    }
5721
    ranges::dangling end() const
5722
0
    {
5723
0
        return {};
5724
0
    }
5725
5726
protected:
5727
    template <typename... Args>
5728
    void assign_range(Args&&...)
5729
    {
5730
    }
5731
};
5732
5733
template <typename Range>
5734
constexpr auto get_scan_result_base()
5735
0
{
5736
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
5737
0
        return type_identity<scan_result_dangling>{};
5738
0
    }
5739
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
5740
0
        return type_identity<scan_result_file_storage>{};
5741
0
    }
5742
0
    else {
5743
0
        return type_identity<scan_result_range_storage<Range>>{};
5744
0
    }
5745
0
}
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
5746
5747
#if !SCN_DOXYGEN
5748
template <typename Range>
5749
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
5750
#else
5751
template <typename Range>
5752
using scan_result_base = scan_result_range_storage<Range>;
5753
#endif
5754
}  // namespace detail
5755
5756
/**
5757
 * \defgroup result Result types
5758
 *
5759
 * \brief Result and error types
5760
 *
5761
 * Instead of using exceptions, `scn::scan` and others return an object of
5762
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
5763
 */
5764
5765
/**
5766
 * Type returned by `scan`, contains the unused input as a subrange, and the
5767
 * scanned values in a tuple.
5768
 */
5769
template <typename Range, typename... Args>
5770
class scan_result : public detail::scan_result_base<Range>,
5771
                    public detail::scan_result_value_storage<Args...> {
5772
    using range_base = detail::scan_result_base<Range>;
5773
    using value_base = detail::scan_result_value_storage<Args...>;
5774
5775
public:
5776
    using range_type = typename range_base::range_type;
5777
    using tuple_type = typename value_base::tuple_type;
5778
5779
    constexpr scan_result() = default;
5780
5781
    constexpr scan_result(const scan_result&) = default;
5782
33.9M
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5782
145k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5782
942
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5782
2
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5782
16.8M
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5782
146k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5782
16.8M
    constexpr scan_result(scan_result&&) = default;
5783
    constexpr scan_result& operator=(const scan_result&) = default;
5784
    constexpr scan_result& operator=(scan_result&&) = default;
5785
5786
67.9M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5786
291k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5786
1.88k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5786
4
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5786
33.6M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5786
293k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5786
33.6M
    ~scan_result() = default;
5787
5788
    scan_result(range_type r, tuple_type&& values)
5789
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5790
55.2M
    {
5791
55.2M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<char>&&)
Line
Count
Source
5790
180
    {
5791
180
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<int>&&)
Line
Count
Source
5790
382k
    {
5791
382k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5790
324k
    {
5791
324k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<double>&&)
Line
Count
Source
5790
46.2k
    {
5791
46.2k
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5790
145k
    {
5791
145k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5790
942
    {
5791
942
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5790
145k
    {
5791
145k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<wchar_t>&&)
Line
Count
Source
5790
2
    {
5791
2
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<int>&&)
Line
Count
Source
5790
711
    {
5791
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5790
564
    {
5791
564
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<double>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5790
2
    {
5791
2
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5790
16.8M
    {
5791
16.8M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5790
16.8M
    {
5791
16.8M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5790
296k
    {
5791
296k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5790
283k
    {
5791
283k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5790
390k
    {
5791
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5790
328k
    {
5791
328k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5790
298k
    {
5791
298k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5790
285k
    {
5791
285k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<int>&&)
Line
Count
Source
5790
383k
    {
5791
383k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5790
326k
    {
5791
326k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5790
390k
    {
5791
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5790
330k
    {
5791
330k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5790
595
    {
5791
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5790
500
    {
5791
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5790
864
    {
5791
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5790
694
    {
5791
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5790
595
    {
5791
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5790
500
    {
5791
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<int>&&)
Line
Count
Source
5790
711
    {
5791
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5790
564
    {
5791
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5790
864
    {
5791
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5790
694
    {
5791
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5790
146k
    {
5791
146k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5790
16.8M
    {
5791
16.8M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<float>&&)
Line
Count
Source
5790
34.7k
    {
5791
34.7k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long double>&&)
Line
Count
Source
5790
46.2k
    {
5791
46.2k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<float>&&)
Line
Count
Source
5790
31.9k
    {
5791
31.9k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<double>&&)
Line
Count
Source
5790
43.4k
    {
5791
43.4k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long double>&&)
Line
Count
Source
5790
43.4k
    {
5791
43.4k
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<float>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long double>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<float>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<double>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long double>&&)
5792
5793
    template <typename OtherR,
5794
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
5795
                  nullptr>
5796
    scan_result(OtherR&& r, tuple_type&& values)
5797
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
5798
          value_base(SCN_MOVE(values))
5799
    {
5800
    }
5801
5802
    template <typename OtherR,
5803
              std::enable_if_t<
5804
                  std::is_constructible_v<range_type, OtherR> &&
5805
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5806
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
5807
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5808
          value_base(o.values())
5809
    {
5810
    }
5811
    template <typename OtherR,
5812
              std::enable_if_t<
5813
                  std::is_constructible_v<range_type, OtherR> &&
5814
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5815
    explicit scan_result(const scan_result<OtherR, Args...>& o)
5816
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5817
          value_base(o.values())
5818
    {
5819
    }
5820
5821
    template <typename OtherR,
5822
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5823
                               std::is_convertible_v<OtherR&&, range_type>>* =
5824
                  nullptr>
5825
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
5826
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5827
          value_base(SCN_MOVE(o.values()))
5828
    {
5829
    }
5830
    template <typename OtherR,
5831
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5832
                               !std::is_convertible_v<OtherR&&, range_type>>* =
5833
                  nullptr>
5834
    explicit scan_result(scan_result<OtherR, Args...>&& o)
5835
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5836
          value_base(SCN_MOVE(o.values()))
5837
    {
5838
    }
5839
5840
    template <typename OtherR,
5841
              typename =
5842
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5843
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
5844
    {
5845
        this->assign_range(o);
5846
        this->values() = o.values();
5847
        return *this;
5848
    }
5849
5850
    template <typename OtherR,
5851
              typename =
5852
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5853
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
5854
    {
5855
        this->assign_range(o);
5856
        this->values() = SCN_MOVE(o.values());
5857
        return *this;
5858
    }
5859
};
5860
5861
template <typename R, typename... Args>
5862
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
5863
template <typename R, typename Ctx, typename... Args>
5864
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
5865
    -> scan_result<R, Args...>;
5866
5867
namespace detail {
5868
template <typename SourceRange>
5869
auto make_vscan_result_range_end(SourceRange& source)
5870
55.2M
{
5871
55.2M
    return ranges::end(source);
5872
55.2M
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5870
3.00k
{
5871
3.00k
    return ranges::end(source);
5872
3.00k
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5870
8
{
5871
8
    return ranges::end(source);
5872
8
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
5870
2.42M
{
5871
2.42M
    return ranges::end(source);
5872
2.42M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
5870
2.28M
{
5871
2.28M
    return ranges::end(source);
5872
2.28M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
5870
33.6M
{
5871
33.6M
    return ranges::end(source);
5872
33.6M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
5870
16.8M
{
5871
16.8M
    return ranges::end(source);
5872
16.8M
}
5873
template <typename CharT, size_t N>
5874
auto make_vscan_result_range_end(CharT (&source)[N])
5875
    -> ranges::sentinel_t<CharT (&)[N]>
5876
{
5877
    return source + N - 1;
5878
}
5879
5880
template <typename SourceRange>
5881
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
5882
    -> borrowed_tail_subrange_t<SourceRange>
5883
55.2M
{
5884
55.2M
    if constexpr (ranges::random_access_iterator<
5885
55.2M
                      ranges::iterator_t<SourceRange>>) {
5886
55.2M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5887
55.2M
    }
5888
55.2M
    else {
5889
55.2M
        auto it = ranges::begin(source);
5890
55.2M
        while (n > 0) {
5891
55.2M
            --n;
5892
55.2M
            ++it;
5893
55.2M
        }
5894
55.2M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5895
55.2M
    }
5896
55.2M
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5883
3.00k
{
5884
3.00k
    if constexpr (ranges::random_access_iterator<
5885
3.00k
                      ranges::iterator_t<SourceRange>>) {
5886
3.00k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5887
3.00k
    }
5888
3.00k
    else {
5889
3.00k
        auto it = ranges::begin(source);
5890
3.00k
        while (n > 0) {
5891
3.00k
            --n;
5892
3.00k
            ++it;
5893
3.00k
        }
5894
3.00k
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5895
3.00k
    }
5896
3.00k
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5883
8
{
5884
8
    if constexpr (ranges::random_access_iterator<
5885
8
                      ranges::iterator_t<SourceRange>>) {
5886
8
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5887
8
    }
5888
8
    else {
5889
8
        auto it = ranges::begin(source);
5890
8
        while (n > 0) {
5891
8
            --n;
5892
8
            ++it;
5893
8
        }
5894
8
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5895
8
    }
5896
8
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5883
2.42M
{
5884
2.42M
    if constexpr (ranges::random_access_iterator<
5885
2.42M
                      ranges::iterator_t<SourceRange>>) {
5886
2.42M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5887
2.42M
    }
5888
2.42M
    else {
5889
2.42M
        auto it = ranges::begin(source);
5890
2.42M
        while (n > 0) {
5891
2.42M
            --n;
5892
2.42M
            ++it;
5893
2.42M
        }
5894
2.42M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5895
2.42M
    }
5896
2.42M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5883
2.28M
{
5884
2.28M
    if constexpr (ranges::random_access_iterator<
5885
2.28M
                      ranges::iterator_t<SourceRange>>) {
5886
2.28M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5887
2.28M
    }
5888
2.28M
    else {
5889
2.28M
        auto it = ranges::begin(source);
5890
2.28M
        while (n > 0) {
5891
2.28M
            --n;
5892
2.28M
            ++it;
5893
2.28M
        }
5894
2.28M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5895
2.28M
    }
5896
2.28M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5883
33.6M
{
5884
33.6M
    if constexpr (ranges::random_access_iterator<
5885
33.6M
                      ranges::iterator_t<SourceRange>>) {
5886
33.6M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5887
33.6M
    }
5888
33.6M
    else {
5889
33.6M
        auto it = ranges::begin(source);
5890
33.6M
        while (n > 0) {
5891
33.6M
            --n;
5892
33.6M
            ++it;
5893
33.6M
        }
5894
33.6M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5895
33.6M
    }
5896
33.6M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5883
16.8M
{
5884
16.8M
    if constexpr (ranges::random_access_iterator<
5885
16.8M
                      ranges::iterator_t<SourceRange>>) {
5886
16.8M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5887
16.8M
    }
5888
16.8M
    else {
5889
16.8M
        auto it = ranges::begin(source);
5890
16.8M
        while (n > 0) {
5891
16.8M
            --n;
5892
16.8M
            ++it;
5893
16.8M
        }
5894
16.8M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5895
16.8M
    }
5896
16.8M
}
5897
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
5898
0
{
5899
0
    return source;
5900
0
}
5901
}  // namespace detail
5902
5903
/////////////////////////////////////////////////////////////////
5904
// Format string parsing
5905
/////////////////////////////////////////////////////////////////
5906
5907
namespace detail {
5908
/// Parse context with extra data used only for compile-time checks
5909
template <typename CharT>
5910
class compile_parse_context : public basic_scan_parse_context<CharT> {
5911
    using base = basic_scan_parse_context<CharT>;
5912
5913
public:
5914
    template <typename Source>
5915
    explicit constexpr compile_parse_context(
5916
        std::basic_string_view<CharT> format_str,
5917
        int num_args,
5918
        const arg_type* types,
5919
        type_identity<Source> source_tag,
5920
        int next_arg_id = 0)
5921
        : base(format_str, next_arg_id),
5922
          m_num_args(num_args),
5923
          m_types(types),
5924
          m_is_contiguous(ranges::range<Source> &&
5925
                          ranges::contiguous_range<Source>),
5926
          m_is_borrowed(
5927
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
5928
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
5929
    {
5930
    }
5931
5932
    SCN_NODISCARD constexpr int get_num_args() const
5933
0
    {
5934
0
        return m_num_args;
5935
0
    }
Unexecuted instantiation: scn::v3::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v3::detail::compile_parse_context<wchar_t>::get_num_args() const
5936
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
5937
    {
5938
        return m_types[id];
5939
    }
5940
5941
    SCN_GCC_PUSH
5942
    SCN_GCC_IGNORE("-Wsign-conversion")
5943
5944
    constexpr std::size_t next_arg_id()
5945
    {
5946
        auto id = base::next_arg_id();
5947
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
5948
            this->on_error("Argument not found");
5949
        }
5950
        return id;
5951
    }
5952
5953
    constexpr void check_arg_id(std::size_t id)
5954
    {
5955
        base::check_arg_id(id);
5956
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
5957
            this->on_error("Argument not found");
5958
        }
5959
    }
5960
    using base::check_arg_id;
5961
5962
    constexpr void check_arg_can_be_read(std::size_t id)
5963
    {
5964
        auto type = get_arg_type(id);
5965
5966
        if ((type == arg_type::narrow_string_view_type ||
5967
             type == arg_type::wide_string_view_type) &&
5968
            !m_is_contiguous) {
5969
            // clang-format off
5970
            this->on_error("Cannot read a string_view from a non-contiguous source");
5971
            // clang-format on
5972
            return;
5973
        }
5974
        if ((type == arg_type::narrow_string_view_type ||
5975
             type == arg_type::wide_string_view_type) &&
5976
            !m_is_borrowed) {
5977
            // clang-format off
5978
            this->on_error("Cannot read a string_view from a non-borrowed source");
5979
            // clang-format on
5980
            return;
5981
        }
5982
5983
        if ((type == arg_type::narrow_regex_matches_type ||
5984
             type == arg_type::wide_regex_matches_type) &&
5985
            !m_is_contiguous) {
5986
            // clang-format off
5987
            this->on_error("Cannot read a regex_matches from a non-contiguous source");
5988
            // clang-format on
5989
            return;
5990
        }
5991
    }
5992
5993
private:
5994
    int m_num_args;
5995
    const arg_type* m_types;
5996
    bool m_is_contiguous, m_is_borrowed;
5997
5998
    SCN_GCC_POP  // -Wsign-conversion
5999
};
6000
6001
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6002
0
{
6003
0
#ifdef __cpp_lib_is_constant_evaluated
6004
0
    SCN_UNUSED(default_value);
6005
0
    return std::is_constant_evaluated();
6006
0
#else
6007
0
    return default_value;
6008
0
#endif
6009
0
}
6010
}  // namespace detail
6011
6012
template <typename CharT>
6013
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6014
25.0M
{
6015
25.0M
    if (detail::is_constant_evaluated() &&
6016
25.0M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6017
        // The cast below will cause an error on gcc pre-12
6018
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6019
0
        if (static_cast<int>(id) >=
6020
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6021
0
            SCN_UNLIKELY_ATTR
6022
0
            on_error("Argument not found");
6023
0
        }
6024
0
    }
6025
25.0M
}
scn::v3::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6014
3.98M
{
6015
3.98M
    if (detail::is_constant_evaluated() &&
6016
3.98M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6017
        // The cast below will cause an error on gcc pre-12
6018
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6019
0
        if (static_cast<int>(id) >=
6020
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6021
0
            SCN_UNLIKELY_ATTR
6022
0
            on_error("Argument not found");
6023
0
        }
6024
0
    }
6025
3.98M
}
scn::v3::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6014
21.1M
{
6015
21.1M
    if (detail::is_constant_evaluated() &&
6016
21.1M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6017
        // The cast below will cause an error on gcc pre-12
6018
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6019
0
        if (static_cast<int>(id) >=
6020
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6021
0
            SCN_UNLIKELY_ATTR
6022
0
            on_error("Argument not found");
6023
0
        }
6024
0
    }
6025
21.1M
}
6026
6027
namespace detail {
6028
enum class align_type : unsigned char {
6029
    none = 0,
6030
    left = 1,   // '<'
6031
    right = 2,  // '>'
6032
    center = 3  // '^'
6033
};
6034
6035
enum class presentation_type {
6036
    none,
6037
    int_binary,            // 'b', 'B'
6038
    int_decimal,           // 'd'
6039
    int_generic,           // 'i'
6040
    int_unsigned_decimal,  // 'u'
6041
    int_octal,             // 'o'
6042
    int_hex,               // 'x', 'X'
6043
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6044
    float_hex,             // 'a', 'A'
6045
    float_scientific,      // 'e', 'E'
6046
    float_fixed,           // 'f', 'F'
6047
    float_general,         // 'g', 'G'
6048
    string,                // 's'
6049
    string_set,            // '[...]'
6050
    regex,                 // '/.../.'
6051
    regex_escaped,         // '/..\/../.'
6052
    character,             // 'c'
6053
    escaped_character,     // '?'
6054
    pointer,               // 'p'
6055
};
6056
6057
enum class regex_flags {
6058
    none = 0,
6059
    multiline = 1,   // /m
6060
    singleline = 2,  // /s
6061
    nocase = 4,      // /i
6062
    nocapture = 8,   // /n
6063
    // TODO?
6064
    // would probably need to go hand-in-hand with locale,
6065
    // where it could even be the default/only option -> no flag?
6066
    // why else would you even use locale with a regex?
6067
    // collate = 16,
6068
};
6069
6070
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6071
65.4k
{
6072
65.4k
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6073
65.4k
                                    static_cast<unsigned>(b));
6074
65.4k
}
6075
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6076
8.68k
{
6077
8.68k
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6078
8.68k
                                    static_cast<unsigned>(b));
6079
8.68k
}
6080
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6081
0
{
6082
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6083
0
                                    static_cast<unsigned>(b));
6084
0
}
6085
6086
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6087
0
{
6088
0
    return a = a & b;
6089
0
}
6090
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6091
8.68k
{
6092
8.68k
    return a = a | b;
6093
8.68k
}
6094
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6095
0
{
6096
0
    return a = a ^ b;
6097
0
}
6098
6099
class fill_type {
6100
public:
6101
    constexpr void operator=(char c)
6102
0
    {
6103
0
        m_data[0] = c;
6104
0
        m_size = 1;
6105
0
    }
6106
6107
    template <typename CharT>
6108
    constexpr void operator=(std::basic_string_view<CharT> s)
6109
6.21k
    {
6110
6.21k
        SCN_EXPECT(!s.empty());
6111
6.21k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6112
6.21k
        if constexpr (sizeof(CharT) == 1) {
6113
12.6k
            for (size_t i = 0; i < s.size(); ++i) {
6114
6.41k
                SCN_GCC_PUSH
6115
6.41k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6116
6.41k
                m_data[i] = s[i];
6117
6.41k
                SCN_GCC_POP
6118
6.41k
            }
6119
6.19k
            m_size = static_cast<unsigned char>(s.size());
6120
6.19k
        }
6121
18
        else if constexpr (sizeof(CharT) == 2) {
6122
18
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6123
18
            m_data[1] =
6124
18
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6125
18
            if (s.size() == 1) {
6126
18
                return;
6127
18
            }
6128
18
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6129
18
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6130
18
        }
6131
18
        else {
6132
18
            const auto front = static_cast<unsigned>(s.front());
6133
18
            m_data[0] = static_cast<char>(front);
6134
18
            m_data[1] = static_cast<char>(front >> 8);
6135
18
            m_data[2] = static_cast<char>(front >> 16);
6136
18
            m_data[3] = static_cast<char>(front >> 24);
6137
18
        }
6138
6.21k
    }
void scn::v3::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6109
6.19k
    {
6110
6.19k
        SCN_EXPECT(!s.empty());
6111
6.19k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6112
6.19k
        if constexpr (sizeof(CharT) == 1) {
6113
12.6k
            for (size_t i = 0; i < s.size(); ++i) {
6114
6.41k
                SCN_GCC_PUSH
6115
6.41k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6116
6.41k
                m_data[i] = s[i];
6117
6.41k
                SCN_GCC_POP
6118
6.41k
            }
6119
6.19k
            m_size = static_cast<unsigned char>(s.size());
6120
6.19k
        }
6121
6.19k
        else if constexpr (sizeof(CharT) == 2) {
6122
6.19k
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6123
6.19k
            m_data[1] =
6124
6.19k
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6125
6.19k
            if (s.size() == 1) {
6126
6.19k
                return;
6127
6.19k
            }
6128
6.19k
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6129
6.19k
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6130
6.19k
        }
6131
6.19k
        else {
6132
6.19k
            const auto front = static_cast<unsigned>(s.front());
6133
6.19k
            m_data[0] = static_cast<char>(front);
6134
6.19k
            m_data[1] = static_cast<char>(front >> 8);
6135
6.19k
            m_data[2] = static_cast<char>(front >> 16);
6136
6.19k
            m_data[3] = static_cast<char>(front >> 24);
6137
6.19k
        }
6138
6.19k
    }
void scn::v3::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6109
18
    {
6110
18
        SCN_EXPECT(!s.empty());
6111
18
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6112
18
        if constexpr (sizeof(CharT) == 1) {
6113
18
            for (size_t i = 0; i < s.size(); ++i) {
6114
18
                SCN_GCC_PUSH
6115
18
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6116
18
                m_data[i] = s[i];
6117
18
                SCN_GCC_POP
6118
18
            }
6119
18
            m_size = static_cast<unsigned char>(s.size());
6120
18
        }
6121
18
        else if constexpr (sizeof(CharT) == 2) {
6122
18
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6123
18
            m_data[1] =
6124
18
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6125
18
            if (s.size() == 1) {
6126
18
                return;
6127
18
            }
6128
18
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6129
18
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6130
18
        }
6131
18
        else {
6132
18
            const auto front = static_cast<unsigned>(s.front());
6133
18
            m_data[0] = static_cast<char>(front);
6134
18
            m_data[1] = static_cast<char>(front >> 8);
6135
18
            m_data[2] = static_cast<char>(front >> 16);
6136
18
            m_data[3] = static_cast<char>(front >> 24);
6137
18
        }
6138
18
    }
6139
6140
    constexpr size_t size() const
6141
2.55k
    {
6142
2.55k
        return m_size;
6143
2.55k
    }
6144
6145
    template <typename CharT>
6146
    CharT get_code_unit() const
6147
2.50k
    {
6148
2.50k
        SCN_EXPECT(m_size <= sizeof(CharT));
6149
2.50k
        CharT r{};
6150
2.50k
        std::memcpy(&r, m_data, m_size);
6151
2.50k
        return r;
6152
2.50k
    }
char scn::v3::detail::fill_type::get_code_unit<char>() const
Line
Count
Source
6147
2.50k
    {
6148
2.50k
        SCN_EXPECT(m_size <= sizeof(CharT));
6149
2.50k
        CharT r{};
6150
2.50k
        std::memcpy(&r, m_data, m_size);
6151
2.50k
        return r;
6152
2.50k
    }
Unexecuted instantiation: wchar_t scn::v3::detail::fill_type::get_code_unit<wchar_t>() const
6153
6154
    template <typename CharT>
6155
    std::basic_string_view<CharT> get_code_units() const
6156
48
    {
6157
48
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6158
48
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::fill_type::get_code_units<char>() const
Line
Count
Source
6156
48
    {
6157
48
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6158
48
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::fill_type::get_code_units<wchar_t>() const
6159
6160
private:
6161
    static constexpr size_t max_size = 4;
6162
    char m_data[max_size] = {' '};
6163
    unsigned char m_size{1};
6164
};
6165
6166
struct format_specs {
6167
    int width{0}, precision{0};
6168
    fill_type fill{};
6169
    presentation_type type{presentation_type::none};
6170
    std::array<uint8_t, 128 / 8> charset_literals{0};
6171
    bool charset_has_nonascii{false}, charset_is_inverted{false};
6172
    const void* charset_string_data{nullptr};
6173
    size_t charset_string_size{0};
6174
    regex_flags regexp_flags{regex_flags::none};
6175
    unsigned char arbitrary_base{0};
6176
    align_type align{align_type::none};
6177
    bool localized{false};
6178
6179
    constexpr format_specs() = default;
6180
6181
    SCN_NODISCARD constexpr int get_base() const
6182
3.92M
    {
6183
3.92M
        SCN_GCC_COMPAT_PUSH
6184
3.92M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
6185
3.92M
        switch (type) {
6186
743k
            case presentation_type::none:
6187
743k
                return 10;
6188
991k
            case presentation_type::int_generic:
6189
991k
                return 0;
6190
0
            case presentation_type::int_arbitrary_base:
6191
0
                return arbitrary_base;
6192
6193
222k
            case presentation_type::int_binary:
6194
222k
                return 2;
6195
388k
            case presentation_type::int_octal:
6196
388k
                return 8;
6197
741k
            case presentation_type::int_decimal:
6198
741k
            case presentation_type::int_unsigned_decimal:
6199
741k
                return 10;
6200
836k
            case presentation_type::int_hex:
6201
836k
                return 16;
6202
6203
0
            default:
6204
0
                SCN_EXPECT(false);
6205
3.92M
                SCN_UNREACHABLE;
6206
3.92M
        }
6207
3.92M
        SCN_GCC_COMPAT_POP
6208
3.92M
    }
6209
6210
    template <typename CharT>
6211
    std::basic_string_view<CharT> charset_string() const
6212
18.5k
    {
6213
18.5k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6214
18.5k
                charset_string_size};
6215
18.5k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::format_specs::charset_string<char>() const
Line
Count
Source
6212
18.5k
    {
6213
18.5k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6214
18.5k
                charset_string_size};
6215
18.5k
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::format_specs::charset_string<wchar_t>() const
6216
};
6217
6218
struct specs_setter {
6219
public:
6220
25.0M
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
6221
6222
    constexpr void on_align(align_type align)
6223
7.90k
    {
6224
7.90k
        m_specs.align = align;
6225
7.90k
    }
6226
    template <typename CharT>
6227
    constexpr void on_fill(std::basic_string_view<CharT> fill)
6228
6.21k
    {
6229
6.21k
        m_specs.fill = fill;
6230
6.21k
    }
void scn::v3::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6228
6.19k
    {
6229
6.19k
        m_specs.fill = fill;
6230
6.19k
    }
void scn::v3::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6228
18
    {
6229
18
        m_specs.fill = fill;
6230
18
    }
6231
    constexpr void on_localized()
6232
807k
    {
6233
807k
        if constexpr (!SCN_DISABLE_LOCALE) {
6234
807k
            m_specs.localized = true;
6235
807k
        }
6236
0
        else {
6237
0
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
6238
0
        }
6239
807k
    }
6240
6241
    constexpr void on_width(int width)
6242
34.1k
    {
6243
34.1k
        if (m_specs.precision != 0 && width > m_specs.precision) {
6244
            // clang-format off
6245
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6246
            // clang-format on
6247
0
        }
6248
6249
34.1k
        m_specs.width = width;
6250
34.1k
    }
6251
    constexpr void on_precision(int prec)
6252
0
    {
6253
0
        if (m_specs.width > prec) {
6254
            // clang-format off
6255
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6256
            // clang-format on
6257
0
        }
6258
6259
0
        m_specs.precision = prec;
6260
0
    }
6261
6262
    constexpr void on_type(presentation_type type)
6263
23.9M
    {
6264
23.9M
        m_specs.type = type;
6265
23.9M
    }
6266
6267
    constexpr void on_charset_single(char32_t cp)
6268
1.85M
    {
6269
1.85M
        const auto cp_value = static_cast<unsigned>(cp);
6270
1.85M
        if (SCN_LIKELY(cp_value <= 127)) {
6271
1.64M
            m_specs.charset_literals[cp_value / 8] |=
6272
1.64M
                static_cast<unsigned char>(1ul << (cp_value % 8));
6273
1.64M
        }
6274
201k
        else {
6275
201k
            m_specs.charset_has_nonascii = true;
6276
201k
        }
6277
1.85M
    }
6278
6279
    constexpr void on_charset_range(char32_t begin, char32_t end)
6280
39.0k
    {
6281
39.0k
        const auto begin_value = static_cast<unsigned>(begin);
6282
39.0k
        const auto end_value = static_cast<unsigned>(end);
6283
39.0k
        SCN_EXPECT(begin_value < end_value);
6284
6285
39.0k
        if (SCN_LIKELY(end_value <= 127)) {
6286
            // No need to bit-twiddle with a mask, because with the
6287
            // SCN_ASSUME, -O3 will optimize this to a single operation
6288
36.5k
            SCN_ASSUME(begin_value < end_value);
6289
1.16M
            for (auto v = begin_value; v != end_value; ++v) {
6290
1.12M
                m_specs.charset_literals[v / 8] |=
6291
1.12M
                    static_cast<unsigned char>(1ul << (v % 8));
6292
1.12M
            }
6293
36.5k
        }
6294
2.52k
        else {
6295
2.52k
            m_specs.charset_has_nonascii = true;
6296
2.52k
        }
6297
39.0k
    }
6298
6299
    constexpr void on_charset_inverted()
6300
5.37k
    {
6301
5.37k
        m_specs.charset_is_inverted = true;
6302
5.37k
    }
6303
6304
    template <typename CharT>
6305
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
6306
29.8k
    {
6307
29.8k
        m_specs.charset_string_data = fmt.data();
6308
29.8k
        m_specs.charset_string_size = fmt.size();
6309
29.8k
        on_type(presentation_type::string_set);
6310
29.8k
    }
void scn::v3::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6306
21.4k
    {
6307
21.4k
        m_specs.charset_string_data = fmt.data();
6308
21.4k
        m_specs.charset_string_size = fmt.size();
6309
21.4k
        on_type(presentation_type::string_set);
6310
21.4k
    }
void scn::v3::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6306
8.40k
    {
6307
8.40k
        m_specs.charset_string_data = fmt.data();
6308
8.40k
        m_specs.charset_string_size = fmt.size();
6309
8.40k
        on_type(presentation_type::string_set);
6310
8.40k
    }
6311
6312
    template <typename CharT>
6313
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
6314
43.0k
    {
6315
43.0k
        m_specs.charset_string_data = pattern.data();
6316
43.0k
        m_specs.charset_string_size = pattern.size();
6317
43.0k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6314
43.0k
    {
6315
43.0k
        m_specs.charset_string_data = pattern.data();
6316
43.0k
        m_specs.charset_string_size = pattern.size();
6317
43.0k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6314
18
    {
6315
18
        m_specs.charset_string_data = pattern.data();
6316
18
        m_specs.charset_string_size = pattern.size();
6317
18
    }
6318
    constexpr void on_regex_flags(regex_flags flags)
6319
42.7k
    {
6320
42.7k
        m_specs.regexp_flags = flags;
6321
42.7k
    }
6322
6323
    // Intentionally not constexpr
6324
    void on_error(const char* msg)
6325
312k
    {
6326
312k
        SCN_UNLIKELY_ATTR
6327
312k
        m_error = scan_error{scan_error::invalid_format_string, msg};
6328
312k
    }
6329
    void on_error(scan_error err)
6330
0
    {
6331
0
        SCN_LIKELY(err);
6332
0
        m_error = err;
6333
0
    }
6334
6335
    constexpr explicit operator bool() const
6336
26.7M
    {
6337
26.7M
        return static_cast<bool>(m_error);
6338
26.7M
    }
6339
6340
    constexpr scan_error get_error() const
6341
0
    {
6342
0
        return m_error;
6343
0
    }
6344
6345
protected:
6346
    format_specs& m_specs;
6347
    scan_error m_error;
6348
};
6349
6350
template <typename CharT>
6351
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
6352
34.6k
{
6353
34.6k
    SCN_EXPECT(begin != end);
6354
34.6k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6355
6356
34.6k
    unsigned long long value = 0;
6357
77.6k
    do {
6358
77.6k
        value *= 10;
6359
77.6k
        value += static_cast<unsigned long long>(*begin - '0');
6360
77.6k
        if (value >
6361
77.6k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6362
72
            return -1;
6363
72
        }
6364
77.5k
        ++begin;
6365
77.5k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6366
34.5k
    return static_cast<int>(value);
6367
34.6k
}
int scn::v3::detail::parse_simple_int<char>(char const*&, char const*)
Line
Count
Source
6352
16.8k
{
6353
16.8k
    SCN_EXPECT(begin != end);
6354
16.8k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6355
6356
16.8k
    unsigned long long value = 0;
6357
43.1k
    do {
6358
43.1k
        value *= 10;
6359
43.1k
        value += static_cast<unsigned long long>(*begin - '0');
6360
43.1k
        if (value >
6361
43.1k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6362
72
            return -1;
6363
72
        }
6364
43.0k
        ++begin;
6365
43.0k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6366
16.7k
    return static_cast<int>(value);
6367
16.8k
}
int scn::v3::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
Line
Count
Source
6352
17.8k
{
6353
17.8k
    SCN_EXPECT(begin != end);
6354
17.8k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6355
6356
17.8k
    unsigned long long value = 0;
6357
34.5k
    do {
6358
34.5k
        value *= 10;
6359
34.5k
        value += static_cast<unsigned long long>(*begin - '0');
6360
34.5k
        if (value >
6361
34.5k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6362
0
            return -1;
6363
0
        }
6364
34.5k
        ++begin;
6365
34.5k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6366
17.8k
    return static_cast<int>(value);
6367
17.8k
}
6368
6369
template <typename CharT, typename IDHandler>
6370
constexpr const CharT* do_parse_arg_id(const CharT* begin,
6371
                                       const CharT* end,
6372
                                       IDHandler&& handler)
6373
7.28k
{
6374
7.28k
    SCN_EXPECT(begin != end);
6375
6376
7.28k
    CharT c = *begin;
6377
7.28k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6378
2.04k
        handler.on_error("Invalid argument ID");
6379
2.04k
        return begin;
6380
2.04k
    }
6381
6382
5.24k
    int idx = 0;
6383
5.24k
    if (c != CharT{'0'}) {
6384
522
        idx = parse_simple_int(begin, end);
6385
522
    }
6386
4.72k
    else {
6387
4.72k
        ++begin;
6388
4.72k
    }
6389
6390
5.24k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6391
354
        handler.on_error("Invalid argument ID");
6392
354
        return begin;
6393
354
    }
6394
4.88k
    handler(idx);
6395
6396
4.88k
    return begin;
6397
5.24k
}
impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6373
7.01k
{
6374
7.01k
    SCN_EXPECT(begin != end);
6375
6376
7.01k
    CharT c = *begin;
6377
7.01k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6378
1.86k
        handler.on_error("Invalid argument ID");
6379
1.86k
        return begin;
6380
1.86k
    }
6381
6382
5.15k
    int idx = 0;
6383
5.15k
    if (c != CharT{'0'}) {
6384
450
        idx = parse_simple_int(begin, end);
6385
450
    }
6386
4.70k
    else {
6387
4.70k
        ++begin;
6388
4.70k
    }
6389
6390
5.15k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6391
300
        handler.on_error("Invalid argument ID");
6392
300
        return begin;
6393
300
    }
6394
4.85k
    handler(idx);
6395
6396
4.85k
    return begin;
6397
5.15k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6373
270
{
6374
270
    SCN_EXPECT(begin != end);
6375
6376
270
    CharT c = *begin;
6377
270
    if (c < CharT{'0'} || c > CharT{'9'}) {
6378
180
        handler.on_error("Invalid argument ID");
6379
180
        return begin;
6380
180
    }
6381
6382
90
    int idx = 0;
6383
90
    if (c != CharT{'0'}) {
6384
72
        idx = parse_simple_int(begin, end);
6385
72
    }
6386
18
    else {
6387
18
        ++begin;
6388
18
    }
6389
6390
90
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6391
54
        handler.on_error("Invalid argument ID");
6392
54
        return begin;
6393
54
    }
6394
36
    handler(idx);
6395
6396
36
    return begin;
6397
90
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
6398
6399
template <typename CharT, typename IDHandler>
6400
constexpr const CharT* parse_arg_id(const CharT* begin,
6401
                                    const CharT* end,
6402
                                    IDHandler&& handler)
6403
25.0M
{
6404
25.0M
    SCN_EXPECT(begin != end);
6405
25.0M
    if (*begin != '}' && *begin != ':') {
6406
7.28k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6407
7.28k
    }
6408
6409
25.0M
    handler();
6410
25.0M
    return begin;
6411
25.0M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6403
2.05M
{
6404
2.05M
    SCN_EXPECT(begin != end);
6405
2.05M
    if (*begin != '}' && *begin != ':') {
6406
7.01k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6407
7.01k
    }
6408
6409
2.04M
    handler();
6410
2.04M
    return begin;
6411
2.05M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
6403
1.92M
{
6404
1.92M
    SCN_EXPECT(begin != end);
6405
1.92M
    if (*begin != '}' && *begin != ':') {
6406
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6407
0
    }
6408
6409
1.92M
    handler();
6410
1.92M
    return begin;
6411
1.92M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6403
13.9M
{
6404
13.9M
    SCN_EXPECT(begin != end);
6405
13.9M
    if (*begin != '}' && *begin != ':') {
6406
270
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6407
270
    }
6408
6409
13.9M
    handler();
6410
13.9M
    return begin;
6411
13.9M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
6403
7.17M
{
6404
7.17M
    SCN_EXPECT(begin != end);
6405
7.17M
    if (*begin != '}' && *begin != ':') {
6406
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6407
0
    }
6408
6409
7.17M
    handler();
6410
7.17M
    return begin;
6411
7.17M
}
6412
6413
template <typename CharT>
6414
constexpr presentation_type parse_presentation_type(CharT type)
6415
24.1M
{
6416
24.1M
    switch (type) {
6417
225k
        case 'b':
6418
365k
        case 'B':
6419
365k
            return presentation_type::int_binary;
6420
749k
        case 'd':
6421
749k
            return presentation_type::int_decimal;
6422
1.00M
        case 'i':
6423
1.00M
            return presentation_type::int_generic;
6424
90
        case 'u':
6425
90
            return presentation_type::int_unsigned_decimal;
6426
393k
        case 'o':
6427
393k
            return presentation_type::int_octal;
6428
845k
        case 'x':
6429
845k
        case 'X':
6430
845k
            return presentation_type::int_hex;
6431
44
        case 'r':
6432
80
        case 'R':
6433
80
            return presentation_type::int_arbitrary_base;
6434
68.0k
        case 'a':
6435
68.1k
        case 'A':
6436
68.1k
            return presentation_type::float_hex;
6437
1.31k
        case 'e':
6438
1.36k
        case 'E':
6439
1.36k
            return presentation_type::float_scientific;
6440
15.7k
        case 'f':
6441
15.8k
        case 'F':
6442
15.8k
            return presentation_type::float_fixed;
6443
35.5k
        case 'g':
6444
35.6k
        case 'G':
6445
35.6k
            return presentation_type::float_general;
6446
20.4M
        case 's':
6447
20.4M
            return presentation_type::string;
6448
13.7k
        case 'c':
6449
13.7k
            return presentation_type::character;
6450
36
        case '?':
6451
36
            return presentation_type::escaped_character;
6452
98
        case 'p':
6453
98
            return presentation_type::pointer;
6454
0
        case '[':
6455
0
        case '/':
6456
            // Should be handled by parse_presentation_set and
6457
            // parse_presentation_regex
6458
0
            SCN_EXPECT(false);
6459
0
            SCN_UNREACHABLE;
6460
293k
        default:
6461
293k
            return presentation_type::none;
6462
24.1M
    }
6463
24.1M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<char>(char)
Line
Count
Source
6415
3.18M
{
6416
3.18M
    switch (type) {
6417
131k
        case 'b':
6418
178k
        case 'B':
6419
178k
            return presentation_type::int_binary;
6420
654k
        case 'd':
6421
654k
            return presentation_type::int_decimal;
6422
906k
        case 'i':
6423
906k
            return presentation_type::int_generic;
6424
90
        case 'u':
6425
90
            return presentation_type::int_unsigned_decimal;
6426
299k
        case 'o':
6427
299k
            return presentation_type::int_octal;
6428
750k
        case 'x':
6429
750k
        case 'X':
6430
750k
            return presentation_type::int_hex;
6431
44
        case 'r':
6432
80
        case 'R':
6433
80
            return presentation_type::int_arbitrary_base;
6434
67.3k
        case 'a':
6435
67.4k
        case 'A':
6436
67.4k
            return presentation_type::float_hex;
6437
526
        case 'e':
6438
580
        case 'E':
6439
580
            return presentation_type::float_scientific;
6440
15.0k
        case 'f':
6441
15.0k
        case 'F':
6442
15.0k
            return presentation_type::float_fixed;
6443
34.8k
        case 'g':
6444
34.9k
        case 'G':
6445
34.9k
            return presentation_type::float_general;
6446
178k
        case 's':
6447
178k
            return presentation_type::string;
6448
5.22k
        case 'c':
6449
5.22k
            return presentation_type::character;
6450
36
        case '?':
6451
36
            return presentation_type::escaped_character;
6452
98
        case 'p':
6453
98
            return presentation_type::pointer;
6454
0
        case '[':
6455
0
        case '/':
6456
            // Should be handled by parse_presentation_set and
6457
            // parse_presentation_regex
6458
0
            SCN_EXPECT(false);
6459
0
            SCN_UNREACHABLE;
6460
98.0k
        default:
6461
98.0k
            return presentation_type::none;
6462
3.18M
    }
6463
3.18M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
6415
20.9M
{
6416
20.9M
    switch (type) {
6417
93.9k
        case 'b':
6418
187k
        case 'B':
6419
187k
            return presentation_type::int_binary;
6420
94.6k
        case 'd':
6421
94.6k
            return presentation_type::int_decimal;
6422
94.6k
        case 'i':
6423
94.6k
            return presentation_type::int_generic;
6424
0
        case 'u':
6425
0
            return presentation_type::int_unsigned_decimal;
6426
94.1k
        case 'o':
6427
94.1k
            return presentation_type::int_octal;
6428
94.7k
        case 'x':
6429
94.7k
        case 'X':
6430
94.7k
            return presentation_type::int_hex;
6431
0
        case 'r':
6432
0
        case 'R':
6433
0
            return presentation_type::int_arbitrary_base;
6434
768
        case 'a':
6435
768
        case 'A':
6436
768
            return presentation_type::float_hex;
6437
786
        case 'e':
6438
786
        case 'E':
6439
786
            return presentation_type::float_scientific;
6440
768
        case 'f':
6441
768
        case 'F':
6442
768
            return presentation_type::float_fixed;
6443
768
        case 'g':
6444
768
        case 'G':
6445
768
            return presentation_type::float_general;
6446
20.2M
        case 's':
6447
20.2M
            return presentation_type::string;
6448
8.51k
        case 'c':
6449
8.51k
            return presentation_type::character;
6450
0
        case '?':
6451
0
            return presentation_type::escaped_character;
6452
0
        case 'p':
6453
0
            return presentation_type::pointer;
6454
0
        case '[':
6455
0
        case '/':
6456
            // Should be handled by parse_presentation_set and
6457
            // parse_presentation_regex
6458
0
            SCN_EXPECT(false);
6459
0
            SCN_UNREACHABLE;
6460
195k
        default:
6461
195k
            return presentation_type::none;
6462
20.9M
    }
6463
20.9M
}
6464
6465
template <typename CharT>
6466
constexpr bool is_ascii_letter(CharT ch)
6467
24.7M
{
6468
24.7M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6469
24.7M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6470
24.7M
}
bool scn::v3::detail::is_ascii_letter<char>(char)
Line
Count
Source
6467
3.80M
{
6468
3.80M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6469
3.80M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6470
3.80M
}
bool scn::v3::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
6467
20.8M
{
6468
20.8M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6469
20.8M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6470
20.8M
}
6471
6472
template <typename CharT>
6473
constexpr int code_point_length(const CharT* begin, const CharT* end)
6474
1.34M
{
6475
1.34M
    SCN_EXPECT(begin != end);
6476
1.34M
    if constexpr (sizeof(CharT) != 1) {
6477
937k
        return 1;
6478
937k
    }
6479
937k
    else {
6480
937k
        const auto lengths =
6481
937k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6482
937k
            "\3\4";
6483
937k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6484
937k
        return len;
6485
937k
    }
6486
1.34M
}
int scn::v3::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
6474
937k
{
6475
937k
    SCN_EXPECT(begin != end);
6476
937k
    if constexpr (sizeof(CharT) != 1) {
6477
937k
        return 1;
6478
937k
    }
6479
937k
    else {
6480
937k
        const auto lengths =
6481
937k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6482
937k
            "\3\4";
6483
937k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6484
937k
        return len;
6485
937k
    }
6486
937k
}
int scn::v3::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
6474
410k
{
6475
410k
    SCN_EXPECT(begin != end);
6476
410k
    if constexpr (sizeof(CharT) != 1) {
6477
410k
        return 1;
6478
410k
    }
6479
410k
    else {
6480
410k
        const auto lengths =
6481
410k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6482
410k
            "\3\4";
6483
410k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6484
410k
        return len;
6485
410k
    }
6486
410k
}
6487
6488
template <typename CharT, typename Handler>
6489
constexpr const CharT* parse_align(const CharT* begin,
6490
                                   const CharT* end,
6491
                                   Handler&& handler)
6492
1.34M
{
6493
1.34M
    SCN_EXPECT(begin != end);
6494
6495
2.69M
    auto check_align = [](wchar_t ch) {
6496
2.69M
        switch (ch) {
6497
486
            case L'<':
6498
486
                return align_type::left;
6499
826
            case L'>':
6500
826
                return align_type::right;
6501
10.5k
            case L'^':
6502
10.5k
                return align_type::center;
6503
2.68M
            default:
6504
2.68M
                return align_type::none;
6505
2.69M
        }
6506
2.69M
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6495
1.00M
    auto check_align = [](wchar_t ch) {
6496
1.00M
        switch (ch) {
6497
486
            case L'<':
6498
486
                return align_type::left;
6499
808
            case L'>':
6500
808
                return align_type::right;
6501
10.4k
            case L'^':
6502
10.4k
                return align_type::center;
6503
996k
            default:
6504
996k
                return align_type::none;
6505
1.00M
        }
6506
1.00M
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6495
865k
    auto check_align = [](wchar_t ch) {
6496
865k
        switch (ch) {
6497
0
            case L'<':
6498
0
                return align_type::left;
6499
0
            case L'>':
6500
0
                return align_type::right;
6501
0
            case L'^':
6502
0
                return align_type::center;
6503
865k
            default:
6504
865k
                return align_type::none;
6505
865k
        }
6506
865k
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6495
423k
    auto check_align = [](wchar_t ch) {
6496
423k
        switch (ch) {
6497
0
            case L'<':
6498
0
                return align_type::left;
6499
18
            case L'>':
6500
18
                return align_type::right;
6501
36
            case L'^':
6502
36
                return align_type::center;
6503
423k
            default:
6504
423k
                return align_type::none;
6505
423k
        }
6506
423k
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6495
397k
    auto check_align = [](wchar_t ch) {
6496
397k
        switch (ch) {
6497
0
            case L'<':
6498
0
                return align_type::left;
6499
0
            case L'>':
6500
0
                return align_type::right;
6501
0
            case L'^':
6502
0
                return align_type::center;
6503
397k
            default:
6504
397k
                return align_type::none;
6505
397k
        }
6506
397k
    };
6507
6508
1.34M
    auto potential_fill_len = code_point_length(begin, end);
6509
1.34M
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6510
1.34M
                     std::distance(begin, end) < potential_fill_len)) {
6511
42
        handler.on_error("Invalid encoding in fill character");
6512
42
        return begin;
6513
42
    }
6514
6515
1.34M
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6516
6517
1.34M
    auto potential_fill = std::basic_string_view<CharT>{
6518
1.34M
        begin, static_cast<size_t>(potential_fill_len)};
6519
1.34M
    const auto begin_before_fill = begin;
6520
1.34M
    begin += potential_fill_len;
6521
6522
1.34M
    if (begin == end) {
6523
1.31k
        return begin_before_fill;
6524
1.31k
    }
6525
6526
1.34M
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6527
1.34M
    const auto begin_after_fill = begin;
6528
1.34M
    ++begin;
6529
6530
1.34M
    if (potential_fill_len == 1) {
6531
1.34M
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6532
98
            handler.on_error("Invalid fill character '{' in format string");
6533
98
            return begin;
6534
98
        }
6535
1.34M
        if (potential_fill[0] == '[') {
6536
28.5k
            return begin_before_fill;
6537
28.5k
        }
6538
1.34M
    }
6539
6540
1.31M
    if (potential_align_after_fill == align_type::none) {
6541
1.31M
        if (potential_align_on_fill != align_type::none) {
6542
1.68k
            handler.on_align(potential_align_on_fill);
6543
1.68k
            return begin_after_fill;
6544
1.68k
        }
6545
1.31M
        return begin_before_fill;
6546
1.31M
    }
6547
6548
6.21k
    handler.on_fill(potential_fill);
6549
6.21k
    handler.on_align(potential_align_after_fill);
6550
6.21k
    return begin;
6551
1.31M
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6492
504k
{
6493
504k
    SCN_EXPECT(begin != end);
6494
6495
504k
    auto check_align = [](wchar_t ch) {
6496
504k
        switch (ch) {
6497
504k
            case L'<':
6498
504k
                return align_type::left;
6499
504k
            case L'>':
6500
504k
                return align_type::right;
6501
504k
            case L'^':
6502
504k
                return align_type::center;
6503
504k
            default:
6504
504k
                return align_type::none;
6505
504k
        }
6506
504k
    };
6507
6508
504k
    auto potential_fill_len = code_point_length(begin, end);
6509
504k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6510
504k
                     std::distance(begin, end) < potential_fill_len)) {
6511
42
        handler.on_error("Invalid encoding in fill character");
6512
42
        return begin;
6513
42
    }
6514
6515
504k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6516
6517
504k
    auto potential_fill = std::basic_string_view<CharT>{
6518
504k
        begin, static_cast<size_t>(potential_fill_len)};
6519
504k
    const auto begin_before_fill = begin;
6520
504k
    begin += potential_fill_len;
6521
6522
504k
    if (begin == end) {
6523
1.10k
        return begin_before_fill;
6524
1.10k
    }
6525
6526
503k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6527
503k
    const auto begin_after_fill = begin;
6528
503k
    ++begin;
6529
6530
503k
    if (potential_fill_len == 1) {
6531
503k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6532
80
            handler.on_error("Invalid fill character '{' in format string");
6533
80
            return begin;
6534
80
        }
6535
503k
        if (potential_fill[0] == '[') {
6536
17.9k
            return begin_before_fill;
6537
17.9k
        }
6538
503k
    }
6539
6540
485k
    if (potential_align_after_fill == align_type::none) {
6541
479k
        if (potential_align_on_fill != align_type::none) {
6542
1.66k
            handler.on_align(potential_align_on_fill);
6543
1.66k
            return begin_after_fill;
6544
1.66k
        }
6545
477k
        return begin_before_fill;
6546
479k
    }
6547
6548
6.19k
    handler.on_fill(potential_fill);
6549
6.19k
    handler.on_align(potential_align_after_fill);
6550
6.19k
    return begin;
6551
485k
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6492
432k
{
6493
432k
    SCN_EXPECT(begin != end);
6494
6495
432k
    auto check_align = [](wchar_t ch) {
6496
432k
        switch (ch) {
6497
432k
            case L'<':
6498
432k
                return align_type::left;
6499
432k
            case L'>':
6500
432k
                return align_type::right;
6501
432k
            case L'^':
6502
432k
                return align_type::center;
6503
432k
            default:
6504
432k
                return align_type::none;
6505
432k
        }
6506
432k
    };
6507
6508
432k
    auto potential_fill_len = code_point_length(begin, end);
6509
432k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6510
432k
                     std::distance(begin, end) < potential_fill_len)) {
6511
0
        handler.on_error("Invalid encoding in fill character");
6512
0
        return begin;
6513
0
    }
6514
6515
432k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6516
6517
432k
    auto potential_fill = std::basic_string_view<CharT>{
6518
432k
        begin, static_cast<size_t>(potential_fill_len)};
6519
432k
    const auto begin_before_fill = begin;
6520
432k
    begin += potential_fill_len;
6521
6522
432k
    if (begin == end) {
6523
0
        return begin_before_fill;
6524
0
    }
6525
6526
432k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6527
432k
    const auto begin_after_fill = begin;
6528
432k
    ++begin;
6529
6530
432k
    if (potential_fill_len == 1) {
6531
432k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6532
0
            handler.on_error("Invalid fill character '{' in format string");
6533
0
            return begin;
6534
0
        }
6535
432k
        if (potential_fill[0] == '[') {
6536
2.14k
            return begin_before_fill;
6537
2.14k
        }
6538
432k
    }
6539
6540
430k
    if (potential_align_after_fill == align_type::none) {
6541
430k
        if (potential_align_on_fill != align_type::none) {
6542
0
            handler.on_align(potential_align_on_fill);
6543
0
            return begin_after_fill;
6544
0
        }
6545
430k
        return begin_before_fill;
6546
430k
    }
6547
6548
0
    handler.on_fill(potential_fill);
6549
0
    handler.on_align(potential_align_after_fill);
6550
0
    return begin;
6551
430k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6492
211k
{
6493
211k
    SCN_EXPECT(begin != end);
6494
6495
211k
    auto check_align = [](wchar_t ch) {
6496
211k
        switch (ch) {
6497
211k
            case L'<':
6498
211k
                return align_type::left;
6499
211k
            case L'>':
6500
211k
                return align_type::right;
6501
211k
            case L'^':
6502
211k
                return align_type::center;
6503
211k
            default:
6504
211k
                return align_type::none;
6505
211k
        }
6506
211k
    };
6507
6508
211k
    auto potential_fill_len = code_point_length(begin, end);
6509
211k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6510
211k
                     std::distance(begin, end) < potential_fill_len)) {
6511
0
        handler.on_error("Invalid encoding in fill character");
6512
0
        return begin;
6513
0
    }
6514
6515
211k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6516
6517
211k
    auto potential_fill = std::basic_string_view<CharT>{
6518
211k
        begin, static_cast<size_t>(potential_fill_len)};
6519
211k
    const auto begin_before_fill = begin;
6520
211k
    begin += potential_fill_len;
6521
6522
211k
    if (begin == end) {
6523
216
        return begin_before_fill;
6524
216
    }
6525
6526
211k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6527
211k
    const auto begin_after_fill = begin;
6528
211k
    ++begin;
6529
6530
211k
    if (potential_fill_len == 1) {
6531
211k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6532
18
            handler.on_error("Invalid fill character '{' in format string");
6533
18
            return begin;
6534
18
        }
6535
211k
        if (potential_fill[0] == '[') {
6536
5.69k
            return begin_before_fill;
6537
5.69k
        }
6538
211k
    }
6539
6540
205k
    if (potential_align_after_fill == align_type::none) {
6541
205k
        if (potential_align_on_fill != align_type::none) {
6542
18
            handler.on_align(potential_align_on_fill);
6543
18
            return begin_after_fill;
6544
18
        }
6545
205k
        return begin_before_fill;
6546
205k
    }
6547
6548
18
    handler.on_fill(potential_fill);
6549
18
    handler.on_align(potential_align_after_fill);
6550
18
    return begin;
6551
205k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6492
198k
{
6493
198k
    SCN_EXPECT(begin != end);
6494
6495
198k
    auto check_align = [](wchar_t ch) {
6496
198k
        switch (ch) {
6497
198k
            case L'<':
6498
198k
                return align_type::left;
6499
198k
            case L'>':
6500
198k
                return align_type::right;
6501
198k
            case L'^':
6502
198k
                return align_type::center;
6503
198k
            default:
6504
198k
                return align_type::none;
6505
198k
        }
6506
198k
    };
6507
6508
198k
    auto potential_fill_len = code_point_length(begin, end);
6509
198k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6510
198k
                     std::distance(begin, end) < potential_fill_len)) {
6511
0
        handler.on_error("Invalid encoding in fill character");
6512
0
        return begin;
6513
0
    }
6514
6515
198k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6516
6517
198k
    auto potential_fill = std::basic_string_view<CharT>{
6518
198k
        begin, static_cast<size_t>(potential_fill_len)};
6519
198k
    const auto begin_before_fill = begin;
6520
198k
    begin += potential_fill_len;
6521
6522
198k
    if (begin == end) {
6523
0
        return begin_before_fill;
6524
0
    }
6525
6526
198k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6527
198k
    const auto begin_after_fill = begin;
6528
198k
    ++begin;
6529
6530
198k
    if (potential_fill_len == 1) {
6531
198k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6532
0
            handler.on_error("Invalid fill character '{' in format string");
6533
0
            return begin;
6534
0
        }
6535
198k
        if (potential_fill[0] == '[') {
6536
2.80k
            return begin_before_fill;
6537
2.80k
        }
6538
198k
    }
6539
6540
196k
    if (potential_align_after_fill == align_type::none) {
6541
196k
        if (potential_align_on_fill != align_type::none) {
6542
0
            handler.on_align(potential_align_on_fill);
6543
0
            return begin_after_fill;
6544
0
        }
6545
196k
        return begin_before_fill;
6546
196k
    }
6547
6548
0
    handler.on_fill(potential_fill);
6549
0
    handler.on_align(potential_align_after_fill);
6550
0
    return begin;
6551
196k
}
6552
6553
template <typename CharT, typename Handler>
6554
constexpr const CharT* parse_width(const CharT* begin,
6555
                                   const CharT* end,
6556
                                   Handler&& handler)
6557
1.34M
{
6558
1.34M
    SCN_EXPECT(begin != end);
6559
6560
1.34M
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6561
34.1k
        int width = parse_simple_int(begin, end);
6562
34.1k
        if (SCN_LIKELY(width != -1)) {
6563
34.1k
            handler.on_width(width);
6564
34.1k
        }
6565
36
        else {
6566
36
            handler.on_error("Invalid field width");
6567
36
            return begin;
6568
36
        }
6569
34.1k
    }
6570
1.34M
    return begin;
6571
1.34M
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6557
504k
{
6558
504k
    SCN_EXPECT(begin != end);
6559
6560
504k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6561
13.5k
        int width = parse_simple_int(begin, end);
6562
13.5k
        if (SCN_LIKELY(width != -1)) {
6563
13.5k
            handler.on_width(width);
6564
13.5k
        }
6565
36
        else {
6566
36
            handler.on_error("Invalid field width");
6567
36
            return begin;
6568
36
        }
6569
13.5k
    }
6570
504k
    return begin;
6571
504k
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6557
432k
{
6558
432k
    SCN_EXPECT(begin != end);
6559
6560
432k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6561
2.77k
        int width = parse_simple_int(begin, end);
6562
2.77k
        if (SCN_LIKELY(width != -1)) {
6563
2.77k
            handler.on_width(width);
6564
2.77k
        }
6565
0
        else {
6566
0
            handler.on_error("Invalid field width");
6567
0
            return begin;
6568
0
        }
6569
2.77k
    }
6570
432k
    return begin;
6571
432k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6557
211k
{
6558
211k
    SCN_EXPECT(begin != end);
6559
6560
211k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6561
12.2k
        int width = parse_simple_int(begin, end);
6562
12.2k
        if (SCN_LIKELY(width != -1)) {
6563
12.2k
            handler.on_width(width);
6564
12.2k
        }
6565
0
        else {
6566
0
            handler.on_error("Invalid field width");
6567
0
            return begin;
6568
0
        }
6569
12.2k
    }
6570
211k
    return begin;
6571
211k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6557
198k
{
6558
198k
    SCN_EXPECT(begin != end);
6559
6560
198k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6561
5.54k
        int width = parse_simple_int(begin, end);
6562
5.54k
        if (SCN_LIKELY(width != -1)) {
6563
5.54k
            handler.on_width(width);
6564
5.54k
        }
6565
0
        else {
6566
0
            handler.on_error("Invalid field width");
6567
0
            return begin;
6568
0
        }
6569
5.54k
    }
6570
198k
    return begin;
6571
198k
}
6572
6573
template <typename CharT, typename Handler>
6574
constexpr const CharT* parse_precision(const CharT* begin,
6575
                                       const CharT* end,
6576
                                       Handler&& handler)
6577
0
{
6578
0
    SCN_EXPECT(begin != end);
6579
6580
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6581
0
        int prec = parse_simple_int(begin, end);
6582
0
        if (SCN_LIKELY(prec != -1)) {
6583
0
            handler.on_precision(prec);
6584
0
        }
6585
0
        else {
6586
0
            handler.on_error("Invalid field precision");
6587
0
            return begin;
6588
0
        }
6589
0
    }
6590
0
    return begin;
6591
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6592
6593
template <typename CharT, typename SpecHandler>
6594
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
6595
                                                     const CharT* end,
6596
                                                     SpecHandler&& handler)
6597
2.54M
{
6598
2.54M
    SCN_EXPECT(begin != end);
6599
6600
2.54M
    auto len = code_point_length_by_starting_code_unit(*begin);
6601
2.54M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6602
100
        handler.on_error("Invalid encoding in format string");
6603
100
        return invalid_code_point;
6604
100
    }
6605
6606
2.54M
    const auto cp =
6607
2.54M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6608
2.54M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6609
340
        handler.on_error("Invalid encoding in format string");
6610
340
        return invalid_code_point;
6611
340
    }
6612
6613
2.54M
    begin += len;
6614
2.54M
    return cp;
6615
2.54M
}
char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6597
620k
{
6598
620k
    SCN_EXPECT(begin != end);
6599
6600
620k
    auto len = code_point_length_by_starting_code_unit(*begin);
6601
620k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6602
0
        handler.on_error("Invalid encoding in format string");
6603
0
        return invalid_code_point;
6604
0
    }
6605
6606
620k
    const auto cp =
6607
620k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6608
620k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6609
0
        handler.on_error("Invalid encoding in format string");
6610
0
        return invalid_code_point;
6611
0
    }
6612
6613
620k
    begin += len;
6614
620k
    return cp;
6615
620k
}
Unexecuted instantiation: char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6597
1.88M
{
6598
1.88M
    SCN_EXPECT(begin != end);
6599
6600
1.88M
    auto len = code_point_length_by_starting_code_unit(*begin);
6601
1.88M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6602
100
        handler.on_error("Invalid encoding in format string");
6603
100
        return invalid_code_point;
6604
100
    }
6605
6606
1.88M
    const auto cp =
6607
1.88M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6608
1.88M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6609
266
        handler.on_error("Invalid encoding in format string");
6610
266
        return invalid_code_point;
6611
266
    }
6612
6613
1.88M
    begin += len;
6614
1.88M
    return cp;
6615
1.88M
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6597
8.56k
{
6598
8.56k
    SCN_EXPECT(begin != end);
6599
6600
8.56k
    auto len = code_point_length_by_starting_code_unit(*begin);
6601
8.56k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6602
0
        handler.on_error("Invalid encoding in format string");
6603
0
        return invalid_code_point;
6604
0
    }
6605
6606
8.56k
    const auto cp =
6607
8.56k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6608
8.56k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6609
0
        handler.on_error("Invalid encoding in format string");
6610
0
        return invalid_code_point;
6611
0
    }
6612
6613
8.56k
    begin += len;
6614
8.56k
    return cp;
6615
8.56k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6597
22.5k
{
6598
22.5k
    SCN_EXPECT(begin != end);
6599
6600
22.5k
    auto len = code_point_length_by_starting_code_unit(*begin);
6601
22.5k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6602
0
        handler.on_error("Invalid encoding in format string");
6603
0
        return invalid_code_point;
6604
0
    }
6605
6606
22.5k
    const auto cp =
6607
22.5k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6608
22.5k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6609
74
        handler.on_error("Invalid encoding in format string");
6610
74
        return invalid_code_point;
6611
74
    }
6612
6613
22.4k
    begin += len;
6614
22.4k
    return cp;
6615
22.5k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6597
11.2k
{
6598
11.2k
    SCN_EXPECT(begin != end);
6599
6600
11.2k
    auto len = code_point_length_by_starting_code_unit(*begin);
6601
11.2k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6602
0
        handler.on_error("Invalid encoding in format string");
6603
0
        return invalid_code_point;
6604
0
    }
6605
6606
11.2k
    const auto cp =
6607
11.2k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6608
11.2k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6609
0
        handler.on_error("Invalid encoding in format string");
6610
0
        return invalid_code_point;
6611
0
    }
6612
6613
11.2k
    begin += len;
6614
11.2k
    return cp;
6615
11.2k
}
6616
6617
template <typename CharT, typename SpecHandler>
6618
constexpr void parse_presentation_set_literal(const CharT*& begin,
6619
                                              const CharT* end,
6620
                                              SpecHandler&& handler)
6621
2.50M
{
6622
2.50M
    SCN_EXPECT(begin != end);
6623
6624
2.50M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6625
2.50M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6626
342
        return;
6627
342
    }
6628
6629
2.50M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6630
2.50M
        *(begin + 1) != CharT{']'}) {
6631
42.1k
        ++begin;
6632
6633
42.1k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6634
42.1k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6635
98
            return;
6636
98
        }
6637
6638
42.0k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6639
            // clang-format off
6640
60
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6641
            // clang-format on
6642
60
            return;
6643
60
        }
6644
6645
41.9k
        handler.on_charset_range(cp_first, cp_second + 1);
6646
41.9k
        return;
6647
42.0k
    }
6648
6649
2.46M
    handler.on_charset_single(cp_first);
6650
2.46M
}
void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6621
617k
{
6622
617k
    SCN_EXPECT(begin != end);
6623
6624
617k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6625
617k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6626
0
        return;
6627
0
    }
6628
6629
617k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6630
617k
        *(begin + 1) != CharT{']'}) {
6631
2.88k
        ++begin;
6632
6633
2.88k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6634
2.88k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6635
0
            return;
6636
0
        }
6637
6638
2.88k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6639
            // clang-format off
6640
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6641
            // clang-format on
6642
0
            return;
6643
0
        }
6644
6645
2.88k
        handler.on_charset_range(cp_first, cp_second + 1);
6646
2.88k
        return;
6647
2.88k
    }
6648
6649
614k
    handler.on_charset_single(cp_first);
6650
614k
}
Unexecuted instantiation: void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6621
1.86M
{
6622
1.86M
    SCN_EXPECT(begin != end);
6623
6624
1.86M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6625
1.86M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6626
296
        return;
6627
296
    }
6628
6629
1.86M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6630
1.86M
        *(begin + 1) != CharT{']'}) {
6631
18.1k
        ++begin;
6632
6633
18.1k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6634
18.1k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6635
70
            return;
6636
70
        }
6637
6638
18.0k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6639
            // clang-format off
6640
60
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6641
            // clang-format on
6642
60
            return;
6643
60
        }
6644
6645
18.0k
        handler.on_charset_range(cp_first, cp_second + 1);
6646
18.0k
        return;
6647
18.0k
    }
6648
6649
1.84M
    handler.on_charset_single(cp_first);
6650
1.84M
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6621
4.28k
{
6622
4.28k
    SCN_EXPECT(begin != end);
6623
6624
4.28k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6625
4.28k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6626
0
        return;
6627
0
    }
6628
6629
4.28k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6630
4.28k
        *(begin + 1) != CharT{']'}) {
6631
4.28k
        ++begin;
6632
6633
4.28k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6634
4.28k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6635
0
            return;
6636
0
        }
6637
6638
4.28k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6639
            // clang-format off
6640
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6641
            // clang-format on
6642
0
            return;
6643
0
        }
6644
6645
4.28k
        handler.on_charset_range(cp_first, cp_second + 1);
6646
4.28k
        return;
6647
4.28k
    }
6648
6649
0
    handler.on_charset_single(cp_first);
6650
0
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6621
11.3k
{
6622
11.3k
    SCN_EXPECT(begin != end);
6623
6624
11.3k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6625
11.3k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6626
46
        return;
6627
46
    }
6628
6629
11.2k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6630
11.2k
        *(begin + 1) != CharT{']'}) {
6631
11.2k
        ++begin;
6632
6633
11.2k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6634
11.2k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6635
28
            return;
6636
28
        }
6637
6638
11.2k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6639
            // clang-format off
6640
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6641
            // clang-format on
6642
0
            return;
6643
0
        }
6644
6645
11.2k
        handler.on_charset_range(cp_first, cp_second + 1);
6646
11.2k
        return;
6647
11.2k
    }
6648
6649
28
    handler.on_charset_single(cp_first);
6650
28
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6621
5.60k
{
6622
5.60k
    SCN_EXPECT(begin != end);
6623
6624
5.60k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6625
5.60k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6626
0
        return;
6627
0
    }
6628
6629
5.60k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6630
5.60k
        *(begin + 1) != CharT{']'}) {
6631
5.60k
        ++begin;
6632
6633
5.60k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6634
5.60k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6635
0
            return;
6636
0
        }
6637
6638
5.60k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6639
            // clang-format off
6640
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6641
            // clang-format on
6642
0
            return;
6643
0
        }
6644
6645
5.60k
        handler.on_charset_range(cp_first, cp_second + 1);
6646
5.60k
        return;
6647
5.60k
    }
6648
6649
0
    handler.on_charset_single(cp_first);
6650
0
}
6651
6652
template <typename CharT, typename SpecHandler>
6653
constexpr std::basic_string_view<CharT> parse_presentation_set(
6654
    const CharT*& begin,
6655
    const CharT* end,
6656
    SpecHandler&& handler)
6657
35.5k
{
6658
35.5k
    SCN_EXPECT(begin != end);
6659
35.5k
    SCN_EXPECT(*begin == CharT{'['});
6660
6661
35.5k
    auto start = begin;
6662
35.5k
    ++begin;
6663
6664
35.5k
    if (SCN_UNLIKELY(begin == end)) {
6665
        // clang-format off
6666
62
        handler.on_error("Unexpected end of [character set] specifier in format string");
6667
        // clang-format on
6668
62
        return {};
6669
62
    }
6670
35.4k
    if (*begin == CharT{'^'}) {
6671
6.76k
        handler.on_charset_inverted();
6672
6.76k
        ++begin;
6673
6.76k
        if (SCN_UNLIKELY(begin == end)) {
6674
            // clang-format off
6675
36
            handler.on_error("Unexpected end of [character set] specifier in format string");
6676
            // clang-format on
6677
36
            return {};
6678
36
        }
6679
6.73k
        if (*begin == CharT{']'}) {
6680
84
            handler.on_charset_single(char32_t{']'});
6681
84
            ++begin;
6682
84
        }
6683
6.73k
    }
6684
28.7k
    else if (*begin == CharT{']'}) {
6685
36
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6686
36
    }
6687
6688
2.54M
    while (begin != end) {
6689
2.54M
        if (SCN_UNLIKELY(!handler)) {
6690
532
            break;
6691
532
        }
6692
6693
2.54M
        if (*begin == CharT{']'}) {
6694
34.2k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6695
34.2k
        }
6696
6697
2.50M
        parse_presentation_set_literal(begin, end, handler);
6698
2.50M
    }
6699
6700
1.20k
    SCN_UNLIKELY_ATTR
6701
1.20k
    handler.on_error("Invalid [character set] specifier in format string");
6702
1.20k
    return {};
6703
35.4k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6657
4.39k
{
6658
4.39k
    SCN_EXPECT(begin != end);
6659
4.39k
    SCN_EXPECT(*begin == CharT{'['});
6660
6661
4.39k
    auto start = begin;
6662
4.39k
    ++begin;
6663
6664
4.39k
    if (SCN_UNLIKELY(begin == end)) {
6665
        // clang-format off
6666
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6667
        // clang-format on
6668
0
        return {};
6669
0
    }
6670
4.39k
    if (*begin == CharT{'^'}) {
6671
1.39k
        handler.on_charset_inverted();
6672
1.39k
        ++begin;
6673
1.39k
        if (SCN_UNLIKELY(begin == end)) {
6674
            // clang-format off
6675
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6676
            // clang-format on
6677
0
            return {};
6678
0
        }
6679
1.39k
        if (*begin == CharT{']'}) {
6680
12
            handler.on_charset_single(char32_t{']'});
6681
12
            ++begin;
6682
12
        }
6683
1.39k
    }
6684
2.99k
    else if (*begin == CharT{']'}) {
6685
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6686
0
    }
6687
6688
621k
    while (begin != end) {
6689
621k
        if (SCN_UNLIKELY(!handler)) {
6690
0
            break;
6691
0
        }
6692
6693
621k
        if (*begin == CharT{']'}) {
6694
4.39k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6695
4.39k
        }
6696
6697
617k
        parse_presentation_set_literal(begin, end, handler);
6698
617k
    }
6699
6700
0
    SCN_UNLIKELY_ATTR
6701
0
    handler.on_error("Invalid [character set] specifier in format string");
6702
0
    return {};
6703
4.39k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6657
20.4k
{
6658
20.4k
    SCN_EXPECT(begin != end);
6659
20.4k
    SCN_EXPECT(*begin == CharT{'['});
6660
6661
20.4k
    auto start = begin;
6662
20.4k
    ++begin;
6663
6664
20.4k
    if (SCN_UNLIKELY(begin == end)) {
6665
        // clang-format off
6666
44
        handler.on_error("Unexpected end of [character set] specifier in format string");
6667
        // clang-format on
6668
44
        return {};
6669
44
    }
6670
20.4k
    if (*begin == CharT{'^'}) {
6671
5.37k
        handler.on_charset_inverted();
6672
5.37k
        ++begin;
6673
5.37k
        if (SCN_UNLIKELY(begin == end)) {
6674
            // clang-format off
6675
36
            handler.on_error("Unexpected end of [character set] specifier in format string");
6676
            // clang-format on
6677
36
            return {};
6678
36
        }
6679
5.33k
        if (*begin == CharT{']'}) {
6680
72
            handler.on_charset_single(char32_t{']'});
6681
72
            ++begin;
6682
72
        }
6683
5.33k
    }
6684
15.0k
    else if (*begin == CharT{']'}) {
6685
36
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6686
36
    }
6687
6688
1.88M
    while (begin != end) {
6689
1.88M
        if (SCN_UNLIKELY(!handler)) {
6690
458
            break;
6691
458
        }
6692
6693
1.88M
        if (*begin == CharT{']'}) {
6694
19.2k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6695
19.2k
        }
6696
6697
1.86M
        parse_presentation_set_literal(begin, end, handler);
6698
1.86M
    }
6699
6700
1.10k
    SCN_UNLIKELY_ATTR
6701
1.10k
    handler.on_error("Invalid [character set] specifier in format string");
6702
1.10k
    return {};
6703
20.3k
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6657
2.14k
{
6658
2.14k
    SCN_EXPECT(begin != end);
6659
2.14k
    SCN_EXPECT(*begin == CharT{'['});
6660
6661
2.14k
    auto start = begin;
6662
2.14k
    ++begin;
6663
6664
2.14k
    if (SCN_UNLIKELY(begin == end)) {
6665
        // clang-format off
6666
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6667
        // clang-format on
6668
0
        return {};
6669
0
    }
6670
2.14k
    if (*begin == CharT{'^'}) {
6671
0
        handler.on_charset_inverted();
6672
0
        ++begin;
6673
0
        if (SCN_UNLIKELY(begin == end)) {
6674
            // clang-format off
6675
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6676
            // clang-format on
6677
0
            return {};
6678
0
        }
6679
0
        if (*begin == CharT{']'}) {
6680
0
            handler.on_charset_single(char32_t{']'});
6681
0
            ++begin;
6682
0
        }
6683
0
    }
6684
2.14k
    else if (*begin == CharT{']'}) {
6685
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6686
0
    }
6687
6688
6.42k
    while (begin != end) {
6689
6.42k
        if (SCN_UNLIKELY(!handler)) {
6690
0
            break;
6691
0
        }
6692
6693
6.42k
        if (*begin == CharT{']'}) {
6694
2.14k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6695
2.14k
        }
6696
6697
4.28k
        parse_presentation_set_literal(begin, end, handler);
6698
4.28k
    }
6699
6700
0
    SCN_UNLIKELY_ATTR
6701
0
    handler.on_error("Invalid [character set] specifier in format string");
6702
0
    return {};
6703
2.14k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6657
5.71k
{
6658
5.71k
    SCN_EXPECT(begin != end);
6659
5.71k
    SCN_EXPECT(*begin == CharT{'['});
6660
6661
5.71k
    auto start = begin;
6662
5.71k
    ++begin;
6663
6664
5.71k
    if (SCN_UNLIKELY(begin == end)) {
6665
        // clang-format off
6666
18
        handler.on_error("Unexpected end of [character set] specifier in format string");
6667
        // clang-format on
6668
18
        return {};
6669
18
    }
6670
5.69k
    if (*begin == CharT{'^'}) {
6671
0
        handler.on_charset_inverted();
6672
0
        ++begin;
6673
0
        if (SCN_UNLIKELY(begin == end)) {
6674
            // clang-format off
6675
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6676
            // clang-format on
6677
0
            return {};
6678
0
        }
6679
0
        if (*begin == CharT{']'}) {
6680
0
            handler.on_charset_single(char32_t{']'});
6681
0
            ++begin;
6682
0
        }
6683
0
    }
6684
5.69k
    else if (*begin == CharT{']'}) {
6685
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6686
0
    }
6687
6688
17.0k
    while (begin != end) {
6689
16.9k
        if (SCN_UNLIKELY(!handler)) {
6690
74
            break;
6691
74
        }
6692
6693
16.9k
        if (*begin == CharT{']'}) {
6694
5.60k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6695
5.60k
        }
6696
6697
11.3k
        parse_presentation_set_literal(begin, end, handler);
6698
11.3k
    }
6699
6700
94
    SCN_UNLIKELY_ATTR
6701
94
    handler.on_error("Invalid [character set] specifier in format string");
6702
94
    return {};
6703
5.69k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6657
2.80k
{
6658
2.80k
    SCN_EXPECT(begin != end);
6659
2.80k
    SCN_EXPECT(*begin == CharT{'['});
6660
6661
2.80k
    auto start = begin;
6662
2.80k
    ++begin;
6663
6664
2.80k
    if (SCN_UNLIKELY(begin == end)) {
6665
        // clang-format off
6666
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6667
        // clang-format on
6668
0
        return {};
6669
0
    }
6670
2.80k
    if (*begin == CharT{'^'}) {
6671
0
        handler.on_charset_inverted();
6672
0
        ++begin;
6673
0
        if (SCN_UNLIKELY(begin == end)) {
6674
            // clang-format off
6675
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6676
            // clang-format on
6677
0
            return {};
6678
0
        }
6679
0
        if (*begin == CharT{']'}) {
6680
0
            handler.on_charset_single(char32_t{']'});
6681
0
            ++begin;
6682
0
        }
6683
0
    }
6684
2.80k
    else if (*begin == CharT{']'}) {
6685
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6686
0
    }
6687
6688
8.40k
    while (begin != end) {
6689
8.40k
        if (SCN_UNLIKELY(!handler)) {
6690
0
            break;
6691
0
        }
6692
6693
8.40k
        if (*begin == CharT{']'}) {
6694
2.80k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6695
2.80k
        }
6696
6697
5.60k
        parse_presentation_set_literal(begin, end, handler);
6698
5.60k
    }
6699
6700
0
    SCN_UNLIKELY_ATTR
6701
0
    handler.on_error("Invalid [character set] specifier in format string");
6702
0
    return {};
6703
2.80k
}
6704
6705
template <typename CharT, typename SpecHandler>
6706
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
6707
                                                const CharT* end,
6708
                                                SpecHandler&& handler)
6709
43.3k
{
6710
43.3k
#if !SCN_DISABLE_REGEX
6711
43.3k
    SCN_EXPECT(begin != end);
6712
43.3k
    SCN_EXPECT(*begin == CharT{'/'});
6713
6714
43.3k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6715
43.3k
                  std::is_same_v<CharT, wchar_t>) {
6716
43.3k
        handler.on_error("Regex backend doesn't support wide strings as input");
6717
43.3k
        return begin;
6718
43.3k
    }
6719
6720
43.3k
    auto start = begin;
6721
43.3k
    ++begin;
6722
6723
43.3k
    if (SCN_UNLIKELY(begin == end)) {
6724
60
        handler.on_error("Unexpected end of regex in format string");
6725
60
        return begin;
6726
60
    }
6727
6728
43.2k
    handler.on_type(presentation_type::regex);
6729
12.7M
    for (; begin != end; ++begin) {
6730
12.7M
        if (*begin == CharT{'/'}) {
6731
60.1k
            if (*(begin - 1) != CharT{'\\'}) {
6732
43.1k
                break;
6733
43.1k
            }
6734
17.0k
            else {
6735
17.0k
                handler.on_type(presentation_type::regex_escaped);
6736
17.0k
            }
6737
60.1k
        }
6738
12.7M
    }
6739
43.2k
    if (SCN_UNLIKELY(begin == end)) {
6740
178
        handler.on_error("Unexpected end of regex in format string");
6741
178
        return begin;
6742
178
    }
6743
6744
43.1k
    auto regex_end = begin;
6745
43.1k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6746
43.1k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6747
72
        handler.on_error("Invalid (empty) regex in format string");
6748
72
        return begin;
6749
72
    }
6750
43.0k
    handler.on_regex_pattern(regex_pattern);
6751
43.0k
    ++begin;
6752
6753
43.0k
    if (SCN_UNLIKELY(begin == end)) {
6754
48
        handler.on_error("Unexpected end of regex in format string");
6755
48
        return begin;
6756
48
    }
6757
6758
42.9k
    regex_flags flags{regex_flags::none};
6759
42.9k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6760
42.9k
        {{'m', regex_flags::multiline},
6761
42.9k
         {'s', regex_flags::singleline},
6762
42.9k
         {'i', regex_flags::nocase},
6763
42.9k
         {'n', regex_flags::nocapture}}};
6764
51.6k
    for (; begin != end; ++begin) {
6765
51.6k
        if (*begin == CharT{'}'}) {
6766
42.7k
            break;
6767
42.7k
        }
6768
8.90k
        bool found_flag = false;
6769
23.7k
        for (auto flag : flag_map) {
6770
23.7k
            if (static_cast<CharT>(flag.first) != *begin) {
6771
15.0k
                continue;
6772
15.0k
            }
6773
8.72k
            if ((flags & flag.second) != regex_flags::none) {
6774
36
                handler.on_error("Flag set multiple times in regex");
6775
36
                return begin;
6776
36
            }
6777
8.68k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6778
8.68k
            if (*begin == CharT{'s'}) {
6779
                // clang-format off
6780
54
                handler.on_error("/s flag for regex isn't supported by regex backend");
6781
                // clang-format on
6782
54
            }
6783
#if !SCN_HAS_STD_REGEX_MULTILINE
6784
            if (*begin == CharT{'m'}) {
6785
                // clang-format off
6786
                handler.on_error("/m flag for regex isn't supported by regex backend");
6787
                // clang-format on
6788
            }
6789
#endif
6790
8.68k
#endif
6791
8.68k
            flags |= flag.second;
6792
8.68k
            found_flag = true;
6793
8.68k
            break;
6794
8.72k
        }
6795
8.86k
        if (!found_flag) {
6796
176
            handler.on_error("Invalid flag in regex");
6797
176
            return begin;
6798
176
        }
6799
8.86k
    }
6800
42.7k
    handler.on_regex_flags(flags);
6801
6802
42.7k
    if (SCN_UNLIKELY(begin == end)) {
6803
62
        handler.on_error("Unexpected end of regex in format string");
6804
62
        return begin;
6805
62
    }
6806
6807
42.7k
    return begin;
6808
#else
6809
    handler.on_error("Regular expression support is disabled");
6810
    return {};
6811
#endif
6812
42.7k
}
impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6709
43.2k
{
6710
43.2k
#if !SCN_DISABLE_REGEX
6711
43.2k
    SCN_EXPECT(begin != end);
6712
43.2k
    SCN_EXPECT(*begin == CharT{'/'});
6713
6714
43.2k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6715
43.2k
                  std::is_same_v<CharT, wchar_t>) {
6716
43.2k
        handler.on_error("Regex backend doesn't support wide strings as input");
6717
43.2k
        return begin;
6718
43.2k
    }
6719
6720
43.2k
    auto start = begin;
6721
43.2k
    ++begin;
6722
6723
43.2k
    if (SCN_UNLIKELY(begin == end)) {
6724
42
        handler.on_error("Unexpected end of regex in format string");
6725
42
        return begin;
6726
42
    }
6727
6728
43.2k
    handler.on_type(presentation_type::regex);
6729
12.7M
    for (; begin != end; ++begin) {
6730
12.7M
        if (*begin == CharT{'/'}) {
6731
60.1k
            if (*(begin - 1) != CharT{'\\'}) {
6732
43.0k
                break;
6733
43.0k
            }
6734
17.0k
            else {
6735
17.0k
                handler.on_type(presentation_type::regex_escaped);
6736
17.0k
            }
6737
60.1k
        }
6738
12.7M
    }
6739
43.2k
    if (SCN_UNLIKELY(begin == end)) {
6740
178
        handler.on_error("Unexpected end of regex in format string");
6741
178
        return begin;
6742
178
    }
6743
6744
43.0k
    auto regex_end = begin;
6745
43.0k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6746
43.0k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6747
54
        handler.on_error("Invalid (empty) regex in format string");
6748
54
        return begin;
6749
54
    }
6750
43.0k
    handler.on_regex_pattern(regex_pattern);
6751
43.0k
    ++begin;
6752
6753
43.0k
    if (SCN_UNLIKELY(begin == end)) {
6754
48
        handler.on_error("Unexpected end of regex in format string");
6755
48
        return begin;
6756
48
    }
6757
6758
42.9k
    regex_flags flags{regex_flags::none};
6759
42.9k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6760
42.9k
        {{'m', regex_flags::multiline},
6761
42.9k
         {'s', regex_flags::singleline},
6762
42.9k
         {'i', regex_flags::nocase},
6763
42.9k
         {'n', regex_flags::nocapture}}};
6764
51.6k
    for (; begin != end; ++begin) {
6765
51.5k
        if (*begin == CharT{'}'}) {
6766
42.7k
            break;
6767
42.7k
        }
6768
8.88k
        bool found_flag = false;
6769
23.6k
        for (auto flag : flag_map) {
6770
23.6k
            if (static_cast<CharT>(flag.first) != *begin) {
6771
14.9k
                continue;
6772
14.9k
            }
6773
8.72k
            if ((flags & flag.second) != regex_flags::none) {
6774
36
                handler.on_error("Flag set multiple times in regex");
6775
36
                return begin;
6776
36
            }
6777
8.68k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6778
8.68k
            if (*begin == CharT{'s'}) {
6779
                // clang-format off
6780
54
                handler.on_error("/s flag for regex isn't supported by regex backend");
6781
                // clang-format on
6782
54
            }
6783
#if !SCN_HAS_STD_REGEX_MULTILINE
6784
            if (*begin == CharT{'m'}) {
6785
                // clang-format off
6786
                handler.on_error("/m flag for regex isn't supported by regex backend");
6787
                // clang-format on
6788
            }
6789
#endif
6790
8.68k
#endif
6791
8.68k
            flags |= flag.second;
6792
8.68k
            found_flag = true;
6793
8.68k
            break;
6794
8.72k
        }
6795
8.84k
        if (!found_flag) {
6796
158
            handler.on_error("Invalid flag in regex");
6797
158
            return begin;
6798
158
        }
6799
8.84k
    }
6800
42.7k
    handler.on_regex_flags(flags);
6801
6802
42.7k
    if (SCN_UNLIKELY(begin == end)) {
6803
62
        handler.on_error("Unexpected end of regex in format string");
6804
62
        return begin;
6805
62
    }
6806
6807
42.7k
    return begin;
6808
#else
6809
    handler.on_error("Regular expression support is disabled");
6810
    return {};
6811
#endif
6812
42.7k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6709
54
{
6710
54
#if !SCN_DISABLE_REGEX
6711
54
    SCN_EXPECT(begin != end);
6712
54
    SCN_EXPECT(*begin == CharT{'/'});
6713
6714
54
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6715
54
                  std::is_same_v<CharT, wchar_t>) {
6716
54
        handler.on_error("Regex backend doesn't support wide strings as input");
6717
54
        return begin;
6718
54
    }
6719
6720
54
    auto start = begin;
6721
54
    ++begin;
6722
6723
54
    if (SCN_UNLIKELY(begin == end)) {
6724
18
        handler.on_error("Unexpected end of regex in format string");
6725
18
        return begin;
6726
18
    }
6727
6728
36
    handler.on_type(presentation_type::regex);
6729
54
    for (; begin != end; ++begin) {
6730
54
        if (*begin == CharT{'/'}) {
6731
36
            if (*(begin - 1) != CharT{'\\'}) {
6732
36
                break;
6733
36
            }
6734
0
            else {
6735
0
                handler.on_type(presentation_type::regex_escaped);
6736
0
            }
6737
36
        }
6738
54
    }
6739
36
    if (SCN_UNLIKELY(begin == end)) {
6740
0
        handler.on_error("Unexpected end of regex in format string");
6741
0
        return begin;
6742
0
    }
6743
6744
36
    auto regex_end = begin;
6745
36
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6746
36
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6747
18
        handler.on_error("Invalid (empty) regex in format string");
6748
18
        return begin;
6749
18
    }
6750
18
    handler.on_regex_pattern(regex_pattern);
6751
18
    ++begin;
6752
6753
18
    if (SCN_UNLIKELY(begin == end)) {
6754
0
        handler.on_error("Unexpected end of regex in format string");
6755
0
        return begin;
6756
0
    }
6757
6758
18
    regex_flags flags{regex_flags::none};
6759
18
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6760
18
        {{'m', regex_flags::multiline},
6761
18
         {'s', regex_flags::singleline},
6762
18
         {'i', regex_flags::nocase},
6763
18
         {'n', regex_flags::nocapture}}};
6764
18
    for (; begin != end; ++begin) {
6765
18
        if (*begin == CharT{'}'}) {
6766
0
            break;
6767
0
        }
6768
18
        bool found_flag = false;
6769
72
        for (auto flag : flag_map) {
6770
72
            if (static_cast<CharT>(flag.first) != *begin) {
6771
72
                continue;
6772
72
            }
6773
0
            if ((flags & flag.second) != regex_flags::none) {
6774
0
                handler.on_error("Flag set multiple times in regex");
6775
0
                return begin;
6776
0
            }
6777
0
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6778
0
            if (*begin == CharT{'s'}) {
6779
                // clang-format off
6780
0
                handler.on_error("/s flag for regex isn't supported by regex backend");
6781
                // clang-format on
6782
0
            }
6783
#if !SCN_HAS_STD_REGEX_MULTILINE
6784
            if (*begin == CharT{'m'}) {
6785
                // clang-format off
6786
                handler.on_error("/m flag for regex isn't supported by regex backend");
6787
                // clang-format on
6788
            }
6789
#endif
6790
0
#endif
6791
0
            flags |= flag.second;
6792
0
            found_flag = true;
6793
0
            break;
6794
0
        }
6795
18
        if (!found_flag) {
6796
18
            handler.on_error("Invalid flag in regex");
6797
18
            return begin;
6798
18
        }
6799
18
    }
6800
0
    handler.on_regex_flags(flags);
6801
6802
0
    if (SCN_UNLIKELY(begin == end)) {
6803
0
        handler.on_error("Unexpected end of regex in format string");
6804
0
        return begin;
6805
0
    }
6806
6807
0
    return begin;
6808
#else
6809
    handler.on_error("Regular expression support is disabled");
6810
    return {};
6811
#endif
6812
0
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6813
6814
template <typename CharT, typename SpecHandler>
6815
constexpr const CharT* parse_format_specs(const CharT* begin,
6816
                                          const CharT* end,
6817
                                          SpecHandler&& handler)
6818
25.0M
{
6819
25.0M
    auto do_presentation = [&]() -> const CharT* {
6820
24.2M
        if (*begin == CharT{'['}) {
6821
31.1k
            auto set = parse_presentation_set(begin, end, handler);
6822
31.1k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
1.33k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
1.33k
                return begin;
6827
1.33k
            }
6828
29.8k
            handler.on_character_set_string(set);
6829
29.8k
            return begin;
6830
31.1k
        }
6831
24.2M
        if (*begin == CharT{'/'}) {
6832
43.3k
            return parse_presentation_regex(begin, end, handler);
6833
43.3k
        }
6834
24.1M
        presentation_type type = parse_presentation_type(*begin++);
6835
24.1M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
293k
            handler.on_error("Invalid type specifier in format string");
6837
293k
            return begin;
6838
293k
        }
6839
23.8M
        handler.on_type(type);
6840
23.8M
        return begin;
6841
24.1M
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6819
1.68M
    auto do_presentation = [&]() -> const CharT* {
6820
1.68M
        if (*begin == CharT{'['}) {
6821
20.4k
            auto set = parse_presentation_set(begin, end, handler);
6822
20.4k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
1.22k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
1.22k
                return begin;
6827
1.22k
            }
6828
19.2k
            handler.on_character_set_string(set);
6829
19.2k
            return begin;
6830
20.4k
        }
6831
1.66M
        if (*begin == CharT{'/'}) {
6832
43.2k
            return parse_presentation_regex(begin, end, handler);
6833
43.2k
        }
6834
1.62M
        presentation_type type = parse_presentation_type(*begin++);
6835
1.62M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
49.9k
            handler.on_error("Invalid type specifier in format string");
6837
49.9k
            return begin;
6838
49.9k
        }
6839
1.57M
        handler.on_type(type);
6840
1.57M
        return begin;
6841
1.62M
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6819
1.56M
    auto do_presentation = [&]() -> const CharT* {
6820
1.56M
        if (*begin == CharT{'['}) {
6821
2.14k
            auto set = parse_presentation_set(begin, end, handler);
6822
2.14k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
0
                return begin;
6827
0
            }
6828
2.14k
            handler.on_character_set_string(set);
6829
2.14k
            return begin;
6830
2.14k
        }
6831
1.56M
        if (*begin == CharT{'/'}) {
6832
0
            return parse_presentation_regex(begin, end, handler);
6833
0
        }
6834
1.56M
        presentation_type type = parse_presentation_type(*begin++);
6835
1.56M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
48.0k
            handler.on_error("Invalid type specifier in format string");
6837
48.0k
            return begin;
6838
48.0k
        }
6839
1.51M
        handler.on_type(type);
6840
1.51M
        return begin;
6841
1.56M
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6819
13.8M
    auto do_presentation = [&]() -> const CharT* {
6820
13.8M
        if (*begin == CharT{'['}) {
6821
5.71k
            auto set = parse_presentation_set(begin, end, handler);
6822
5.71k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
112
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
112
                return begin;
6827
112
            }
6828
5.60k
            handler.on_character_set_string(set);
6829
5.60k
            return begin;
6830
5.71k
        }
6831
13.8M
        if (*begin == CharT{'/'}) {
6832
54
            return parse_presentation_regex(begin, end, handler);
6833
54
        }
6834
13.8M
        presentation_type type = parse_presentation_type(*begin++);
6835
13.8M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
99.0k
            handler.on_error("Invalid type specifier in format string");
6837
99.0k
            return begin;
6838
99.0k
        }
6839
13.7M
        handler.on_type(type);
6840
13.7M
        return begin;
6841
13.8M
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6819
7.12M
    auto do_presentation = [&]() -> const CharT* {
6820
7.12M
        if (*begin == CharT{'['}) {
6821
2.80k
            auto set = parse_presentation_set(begin, end, handler);
6822
2.80k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
0
                return begin;
6827
0
            }
6828
2.80k
            handler.on_character_set_string(set);
6829
2.80k
            return begin;
6830
2.80k
        }
6831
7.12M
        if (*begin == CharT{'/'}) {
6832
0
            return parse_presentation_regex(begin, end, handler);
6833
0
        }
6834
7.12M
        presentation_type type = parse_presentation_type(*begin++);
6835
7.12M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
96.1k
            handler.on_error("Invalid type specifier in format string");
6837
96.1k
            return begin;
6838
96.1k
        }
6839
7.02M
        handler.on_type(type);
6840
7.02M
        return begin;
6841
7.12M
    };
6842
6843
25.0M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6844
25.0M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6845
23.7M
        return do_presentation();
6846
23.7M
    }
6847
6848
1.34M
    if (SCN_UNLIKELY(begin == end)) {
6849
0
        handler.on_error("Unexpected end of format string");
6850
0
        return begin;
6851
0
    }
6852
6853
1.34M
    begin = parse_align(begin, end, handler);
6854
1.34M
    if (SCN_UNLIKELY(begin == end)) {
6855
192
        handler.on_error("Unexpected end of format string");
6856
192
        return begin;
6857
192
    }
6858
6859
1.34M
    begin = parse_width(begin, end, handler);
6860
1.34M
    if (SCN_UNLIKELY(begin == end)) {
6861
144
        handler.on_error("Unexpected end of format string");
6862
144
        return begin;
6863
144
    }
6864
6865
1.34M
    if (*begin == CharT{'.'}) {
6866
0
        ++begin;
6867
0
        if (SCN_UNLIKELY(begin == end)) {
6868
0
            handler.on_error("Unexpected end of format string");
6869
0
            return begin;
6870
0
        }
6871
0
        begin = parse_precision(begin, end, handler);
6872
0
        if (SCN_UNLIKELY(begin == end)) {
6873
0
            handler.on_error("Unexpected end of format string");
6874
0
            return begin;
6875
0
        }
6876
0
    }
6877
6878
1.34M
    if (*begin == CharT{'L'}) {
6879
820k
        handler.on_localized();
6880
820k
        ++begin;
6881
820k
    }
6882
1.34M
    if (SCN_UNLIKELY(begin == end)) {
6883
72
        handler.on_error("Unexpected end of format string");
6884
72
        return begin;
6885
72
    }
6886
6887
1.34M
    if (begin != end && *begin != CharT{'}'}) {
6888
523k
        do_presentation();
6889
523k
    }
6890
1.34M
    if (SCN_UNLIKELY(begin == end)) {
6891
2.30k
        handler.on_error("Unexpected end of format string");
6892
2.30k
        return begin;
6893
2.30k
    }
6894
6895
1.34M
    return begin;
6896
1.34M
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6818
2.04M
{
6819
2.04M
    auto do_presentation = [&]() -> const CharT* {
6820
2.04M
        if (*begin == CharT{'['}) {
6821
2.04M
            auto set = parse_presentation_set(begin, end, handler);
6822
2.04M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
2.04M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
2.04M
                return begin;
6827
2.04M
            }
6828
2.04M
            handler.on_character_set_string(set);
6829
2.04M
            return begin;
6830
2.04M
        }
6831
2.04M
        if (*begin == CharT{'/'}) {
6832
2.04M
            return parse_presentation_regex(begin, end, handler);
6833
2.04M
        }
6834
2.04M
        presentation_type type = parse_presentation_type(*begin++);
6835
2.04M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
2.04M
            handler.on_error("Invalid type specifier in format string");
6837
2.04M
            return begin;
6838
2.04M
        }
6839
2.04M
        handler.on_type(type);
6840
2.04M
        return begin;
6841
2.04M
    };
6842
6843
2.04M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6844
2.04M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6845
1.54M
        return do_presentation();
6846
1.54M
    }
6847
6848
504k
    if (SCN_UNLIKELY(begin == end)) {
6849
0
        handler.on_error("Unexpected end of format string");
6850
0
        return begin;
6851
0
    }
6852
6853
504k
    begin = parse_align(begin, end, handler);
6854
504k
    if (SCN_UNLIKELY(begin == end)) {
6855
156
        handler.on_error("Unexpected end of format string");
6856
156
        return begin;
6857
156
    }
6858
6859
504k
    begin = parse_width(begin, end, handler);
6860
504k
    if (SCN_UNLIKELY(begin == end)) {
6861
126
        handler.on_error("Unexpected end of format string");
6862
126
        return begin;
6863
126
    }
6864
6865
504k
    if (*begin == CharT{'.'}) {
6866
0
        ++begin;
6867
0
        if (SCN_UNLIKELY(begin == end)) {
6868
0
            handler.on_error("Unexpected end of format string");
6869
0
            return begin;
6870
0
        }
6871
0
        begin = parse_precision(begin, end, handler);
6872
0
        if (SCN_UNLIKELY(begin == end)) {
6873
0
            handler.on_error("Unexpected end of format string");
6874
0
            return begin;
6875
0
        }
6876
0
    }
6877
6878
504k
    if (*begin == CharT{'L'}) {
6879
358k
        handler.on_localized();
6880
358k
        ++begin;
6881
358k
    }
6882
504k
    if (SCN_UNLIKELY(begin == end)) {
6883
72
        handler.on_error("Unexpected end of format string");
6884
72
        return begin;
6885
72
    }
6886
6887
504k
    if (begin != end && *begin != CharT{'}'}) {
6888
142k
        do_presentation();
6889
142k
    }
6890
504k
    if (SCN_UNLIKELY(begin == end)) {
6891
2.10k
        handler.on_error("Unexpected end of format string");
6892
2.10k
        return begin;
6893
2.10k
    }
6894
6895
502k
    return begin;
6896
504k
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6818
1.92M
{
6819
1.92M
    auto do_presentation = [&]() -> const CharT* {
6820
1.92M
        if (*begin == CharT{'['}) {
6821
1.92M
            auto set = parse_presentation_set(begin, end, handler);
6822
1.92M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
1.92M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
1.92M
                return begin;
6827
1.92M
            }
6828
1.92M
            handler.on_character_set_string(set);
6829
1.92M
            return begin;
6830
1.92M
        }
6831
1.92M
        if (*begin == CharT{'/'}) {
6832
1.92M
            return parse_presentation_regex(begin, end, handler);
6833
1.92M
        }
6834
1.92M
        presentation_type type = parse_presentation_type(*begin++);
6835
1.92M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
1.92M
            handler.on_error("Invalid type specifier in format string");
6837
1.92M
            return begin;
6838
1.92M
        }
6839
1.92M
        handler.on_type(type);
6840
1.92M
        return begin;
6841
1.92M
    };
6842
6843
1.92M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6844
1.92M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6845
1.49M
        return do_presentation();
6846
1.49M
    }
6847
6848
432k
    if (SCN_UNLIKELY(begin == end)) {
6849
0
        handler.on_error("Unexpected end of format string");
6850
0
        return begin;
6851
0
    }
6852
6853
432k
    begin = parse_align(begin, end, handler);
6854
432k
    if (SCN_UNLIKELY(begin == end)) {
6855
0
        handler.on_error("Unexpected end of format string");
6856
0
        return begin;
6857
0
    }
6858
6859
432k
    begin = parse_width(begin, end, handler);
6860
432k
    if (SCN_UNLIKELY(begin == end)) {
6861
0
        handler.on_error("Unexpected end of format string");
6862
0
        return begin;
6863
0
    }
6864
6865
432k
    if (*begin == CharT{'.'}) {
6866
0
        ++begin;
6867
0
        if (SCN_UNLIKELY(begin == end)) {
6868
0
            handler.on_error("Unexpected end of format string");
6869
0
            return begin;
6870
0
        }
6871
0
        begin = parse_precision(begin, end, handler);
6872
0
        if (SCN_UNLIKELY(begin == end)) {
6873
0
            handler.on_error("Unexpected end of format string");
6874
0
            return begin;
6875
0
        }
6876
0
    }
6877
6878
432k
    if (*begin == CharT{'L'}) {
6879
357k
        handler.on_localized();
6880
357k
        ++begin;
6881
357k
    }
6882
432k
    if (SCN_UNLIKELY(begin == end)) {
6883
0
        handler.on_error("Unexpected end of format string");
6884
0
        return begin;
6885
0
    }
6886
6887
432k
    if (begin != end && *begin != CharT{'}'}) {
6888
74.9k
        do_presentation();
6889
74.9k
    }
6890
432k
    if (SCN_UNLIKELY(begin == end)) {
6891
0
        handler.on_error("Unexpected end of format string");
6892
0
        return begin;
6893
0
    }
6894
6895
432k
    return begin;
6896
432k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6818
13.9M
{
6819
13.9M
    auto do_presentation = [&]() -> const CharT* {
6820
13.9M
        if (*begin == CharT{'['}) {
6821
13.9M
            auto set = parse_presentation_set(begin, end, handler);
6822
13.9M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
13.9M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
13.9M
                return begin;
6827
13.9M
            }
6828
13.9M
            handler.on_character_set_string(set);
6829
13.9M
            return begin;
6830
13.9M
        }
6831
13.9M
        if (*begin == CharT{'/'}) {
6832
13.9M
            return parse_presentation_regex(begin, end, handler);
6833
13.9M
        }
6834
13.9M
        presentation_type type = parse_presentation_type(*begin++);
6835
13.9M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
13.9M
            handler.on_error("Invalid type specifier in format string");
6837
13.9M
            return begin;
6838
13.9M
        }
6839
13.9M
        handler.on_type(type);
6840
13.9M
        return begin;
6841
13.9M
    };
6842
6843
13.9M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6844
13.9M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6845
13.7M
        return do_presentation();
6846
13.7M
    }
6847
6848
211k
    if (SCN_UNLIKELY(begin == end)) {
6849
0
        handler.on_error("Unexpected end of format string");
6850
0
        return begin;
6851
0
    }
6852
6853
211k
    begin = parse_align(begin, end, handler);
6854
211k
    if (SCN_UNLIKELY(begin == end)) {
6855
36
        handler.on_error("Unexpected end of format string");
6856
36
        return begin;
6857
36
    }
6858
6859
211k
    begin = parse_width(begin, end, handler);
6860
211k
    if (SCN_UNLIKELY(begin == end)) {
6861
18
        handler.on_error("Unexpected end of format string");
6862
18
        return begin;
6863
18
    }
6864
6865
211k
    if (*begin == CharT{'.'}) {
6866
0
        ++begin;
6867
0
        if (SCN_UNLIKELY(begin == end)) {
6868
0
            handler.on_error("Unexpected end of format string");
6869
0
            return begin;
6870
0
        }
6871
0
        begin = parse_precision(begin, end, handler);
6872
0
        if (SCN_UNLIKELY(begin == end)) {
6873
0
            handler.on_error("Unexpected end of format string");
6874
0
            return begin;
6875
0
        }
6876
0
    }
6877
6878
211k
    if (*begin == CharT{'L'}) {
6879
53.1k
        handler.on_localized();
6880
53.1k
        ++begin;
6881
53.1k
    }
6882
211k
    if (SCN_UNLIKELY(begin == end)) {
6883
0
        handler.on_error("Unexpected end of format string");
6884
0
        return begin;
6885
0
    }
6886
6887
211k
    if (begin != end && *begin != CharT{'}'}) {
6888
157k
        do_presentation();
6889
157k
    }
6890
211k
    if (SCN_UNLIKELY(begin == end)) {
6891
200
        handler.on_error("Unexpected end of format string");
6892
200
        return begin;
6893
200
    }
6894
6895
211k
    return begin;
6896
211k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6818
7.17M
{
6819
7.17M
    auto do_presentation = [&]() -> const CharT* {
6820
7.17M
        if (*begin == CharT{'['}) {
6821
7.17M
            auto set = parse_presentation_set(begin, end, handler);
6822
7.17M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6823
                // clang-format off
6824
7.17M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6825
                // clang-format on
6826
7.17M
                return begin;
6827
7.17M
            }
6828
7.17M
            handler.on_character_set_string(set);
6829
7.17M
            return begin;
6830
7.17M
        }
6831
7.17M
        if (*begin == CharT{'/'}) {
6832
7.17M
            return parse_presentation_regex(begin, end, handler);
6833
7.17M
        }
6834
7.17M
        presentation_type type = parse_presentation_type(*begin++);
6835
7.17M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6836
7.17M
            handler.on_error("Invalid type specifier in format string");
6837
7.17M
            return begin;
6838
7.17M
        }
6839
7.17M
        handler.on_type(type);
6840
7.17M
        return begin;
6841
7.17M
    };
6842
6843
7.17M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6844
7.17M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6845
6.97M
        return do_presentation();
6846
6.97M
    }
6847
6848
198k
    if (SCN_UNLIKELY(begin == end)) {
6849
0
        handler.on_error("Unexpected end of format string");
6850
0
        return begin;
6851
0
    }
6852
6853
198k
    begin = parse_align(begin, end, handler);
6854
198k
    if (SCN_UNLIKELY(begin == end)) {
6855
0
        handler.on_error("Unexpected end of format string");
6856
0
        return begin;
6857
0
    }
6858
6859
198k
    begin = parse_width(begin, end, handler);
6860
198k
    if (SCN_UNLIKELY(begin == end)) {
6861
0
        handler.on_error("Unexpected end of format string");
6862
0
        return begin;
6863
0
    }
6864
6865
198k
    if (*begin == CharT{'.'}) {
6866
0
        ++begin;
6867
0
        if (SCN_UNLIKELY(begin == end)) {
6868
0
            handler.on_error("Unexpected end of format string");
6869
0
            return begin;
6870
0
        }
6871
0
        begin = parse_precision(begin, end, handler);
6872
0
        if (SCN_UNLIKELY(begin == end)) {
6873
0
            handler.on_error("Unexpected end of format string");
6874
0
            return begin;
6875
0
        }
6876
0
    }
6877
6878
198k
    if (*begin == CharT{'L'}) {
6879
50.3k
        handler.on_localized();
6880
50.3k
        ++begin;
6881
50.3k
    }
6882
198k
    if (SCN_UNLIKELY(begin == end)) {
6883
0
        handler.on_error("Unexpected end of format string");
6884
0
        return begin;
6885
0
    }
6886
6887
198k
    if (begin != end && *begin != CharT{'}'}) {
6888
148k
        do_presentation();
6889
148k
    }
6890
198k
    if (SCN_UNLIKELY(begin == end)) {
6891
0
        handler.on_error("Unexpected end of format string");
6892
0
        return begin;
6893
0
    }
6894
6895
198k
    return begin;
6896
198k
}
6897
6898
template <typename CharT, typename Handler>
6899
constexpr const CharT* parse_replacement_field(const CharT* begin,
6900
                                               const CharT* end,
6901
                                               Handler& handler)
6902
25.1M
{
6903
25.1M
    struct id_adapter {
6904
25.1M
        constexpr void operator()()
6905
25.1M
        {
6906
25.0M
            arg_id = handler.on_arg_id();
6907
25.0M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
6905
2.04M
        {
6906
2.04M
            arg_id = handler.on_arg_id();
6907
2.04M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
6905
1.92M
        {
6906
1.92M
            arg_id = handler.on_arg_id();
6907
1.92M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6905
13.9M
        {
6906
13.9M
            arg_id = handler.on_arg_id();
6907
13.9M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6905
7.17M
        {
6906
7.17M
            arg_id = handler.on_arg_id();
6907
7.17M
        }
6908
25.1M
        constexpr void operator()(std::size_t id)
6909
25.1M
        {
6910
4.88k
            arg_id = handler.on_arg_id(id);
6911
4.88k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6909
4.85k
        {
6910
4.85k
            arg_id = handler.on_arg_id(id);
6911
4.85k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6909
36
        {
6910
36
            arg_id = handler.on_arg_id(id);
6911
36
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
6912
6913
25.1M
        constexpr void on_error(const char* msg)
6914
25.1M
        {
6915
2.39k
            SCN_UNLIKELY_ATTR
6916
2.39k
            handler.on_error(msg);
6917
2.39k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Line
Count
Source
6914
2.16k
        {
6915
2.16k
            SCN_UNLIKELY_ATTR
6916
2.16k
            handler.on_error(msg);
6917
2.16k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Line
Count
Source
6914
234
        {
6915
234
            SCN_UNLIKELY_ATTR
6916
234
            handler.on_error(msg);
6917
234
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
6918
6919
25.1M
        Handler& handler;
6920
25.1M
        std::size_t arg_id;
6921
25.1M
    };
6922
6923
25.1M
    ++begin;
6924
25.1M
    if (SCN_UNLIKELY(begin == end)) {
6925
108
        handler.on_error("Unexpected end of replacement field");
6926
108
        return begin;
6927
108
    }
6928
6929
25.1M
    if (*begin == CharT{'}'}) {
6930
10.9k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6931
10.9k
    }
6932
25.0M
    else if (*begin == CharT{'{'}) {
6933
9.31k
        handler.on_literal_text(begin, begin + 1);
6934
9.31k
    }
6935
25.0M
    else {
6936
25.0M
        auto adapter = id_adapter{handler, 0};
6937
25.0M
        begin = parse_arg_id(begin, end, adapter);
6938
6939
25.0M
        if (SCN_UNLIKELY(begin == end)) {
6940
158
            handler.on_error("Missing '}' in format string");
6941
158
            return begin;
6942
158
        }
6943
6944
25.0M
        if (*begin == CharT{'}'}) {
6945
278
            handler.on_replacement_field(adapter.arg_id, begin);
6946
278
        }
6947
25.0M
        else if (*begin == CharT{':'}) {
6948
25.0M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6949
128
                handler.on_error("Unexpected end of replacement field");
6950
128
                return begin;
6951
128
            }
6952
25.0M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6953
25.0M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6954
449k
                handler.on_error("Unknown format specifier");
6955
449k
                return begin;
6956
449k
            }
6957
25.0M
        }
6958
2.23k
        else {
6959
2.23k
            SCN_UNLIKELY_ATTR
6960
2.23k
            handler.on_error("Missing '}' in format string");
6961
2.23k
            return begin;
6962
2.23k
        }
6963
25.0M
    }
6964
24.6M
    return begin + 1;
6965
25.1M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
6902
2.07M
{
6903
2.07M
    struct id_adapter {
6904
2.07M
        constexpr void operator()()
6905
2.07M
        {
6906
2.07M
            arg_id = handler.on_arg_id();
6907
2.07M
        }
6908
2.07M
        constexpr void operator()(std::size_t id)
6909
2.07M
        {
6910
2.07M
            arg_id = handler.on_arg_id(id);
6911
2.07M
        }
6912
6913
2.07M
        constexpr void on_error(const char* msg)
6914
2.07M
        {
6915
2.07M
            SCN_UNLIKELY_ATTR
6916
2.07M
            handler.on_error(msg);
6917
2.07M
        }
6918
6919
2.07M
        Handler& handler;
6920
2.07M
        std::size_t arg_id;
6921
2.07M
    };
6922
6923
2.07M
    ++begin;
6924
2.07M
    if (SCN_UNLIKELY(begin == end)) {
6925
72
        handler.on_error("Unexpected end of replacement field");
6926
72
        return begin;
6927
72
    }
6928
6929
2.07M
    if (*begin == CharT{'}'}) {
6930
10.1k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6931
10.1k
    }
6932
2.06M
    else if (*begin == CharT{'{'}) {
6933
9.31k
        handler.on_literal_text(begin, begin + 1);
6934
9.31k
    }
6935
2.05M
    else {
6936
2.05M
        auto adapter = id_adapter{handler, 0};
6937
2.05M
        begin = parse_arg_id(begin, end, adapter);
6938
6939
2.05M
        if (SCN_UNLIKELY(begin == end)) {
6940
122
            handler.on_error("Missing '}' in format string");
6941
122
            return begin;
6942
122
        }
6943
6944
2.05M
        if (*begin == CharT{'}'}) {
6945
242
            handler.on_replacement_field(adapter.arg_id, begin);
6946
242
        }
6947
2.05M
        else if (*begin == CharT{':'}) {
6948
2.04M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6949
92
                handler.on_error("Unexpected end of replacement field");
6950
92
                return begin;
6951
92
            }
6952
2.04M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6953
2.04M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6954
79.0k
                handler.on_error("Unknown format specifier");
6955
79.0k
                return begin;
6956
79.0k
            }
6957
2.04M
        }
6958
2.03k
        else {
6959
2.03k
            SCN_UNLIKELY_ATTR
6960
2.03k
            handler.on_error("Missing '}' in format string");
6961
2.03k
            return begin;
6962
2.03k
        }
6963
2.05M
    }
6964
1.98M
    return begin + 1;
6965
2.07M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
6902
1.92M
{
6903
1.92M
    struct id_adapter {
6904
1.92M
        constexpr void operator()()
6905
1.92M
        {
6906
1.92M
            arg_id = handler.on_arg_id();
6907
1.92M
        }
6908
1.92M
        constexpr void operator()(std::size_t id)
6909
1.92M
        {
6910
1.92M
            arg_id = handler.on_arg_id(id);
6911
1.92M
        }
6912
6913
1.92M
        constexpr void on_error(const char* msg)
6914
1.92M
        {
6915
1.92M
            SCN_UNLIKELY_ATTR
6916
1.92M
            handler.on_error(msg);
6917
1.92M
        }
6918
6919
1.92M
        Handler& handler;
6920
1.92M
        std::size_t arg_id;
6921
1.92M
    };
6922
6923
1.92M
    ++begin;
6924
1.92M
    if (SCN_UNLIKELY(begin == end)) {
6925
0
        handler.on_error("Unexpected end of replacement field");
6926
0
        return begin;
6927
0
    }
6928
6929
1.92M
    if (*begin == CharT{'}'}) {
6930
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6931
0
    }
6932
1.92M
    else if (*begin == CharT{'{'}) {
6933
0
        handler.on_literal_text(begin, begin + 1);
6934
0
    }
6935
1.92M
    else {
6936
1.92M
        auto adapter = id_adapter{handler, 0};
6937
1.92M
        begin = parse_arg_id(begin, end, adapter);
6938
6939
1.92M
        if (SCN_UNLIKELY(begin == end)) {
6940
0
            handler.on_error("Missing '}' in format string");
6941
0
            return begin;
6942
0
        }
6943
6944
1.92M
        if (*begin == CharT{'}'}) {
6945
0
            handler.on_replacement_field(adapter.arg_id, begin);
6946
0
        }
6947
1.92M
        else if (*begin == CharT{':'}) {
6948
1.92M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6949
0
                handler.on_error("Unexpected end of replacement field");
6950
0
                return begin;
6951
0
            }
6952
1.92M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6953
1.92M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6954
72.8k
                handler.on_error("Unknown format specifier");
6955
72.8k
                return begin;
6956
72.8k
            }
6957
1.92M
        }
6958
0
        else {
6959
0
            SCN_UNLIKELY_ATTR
6960
0
            handler.on_error("Missing '}' in format string");
6961
0
            return begin;
6962
0
        }
6963
1.92M
    }
6964
1.85M
    return begin + 1;
6965
1.92M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
6902
13.9M
{
6903
13.9M
    struct id_adapter {
6904
13.9M
        constexpr void operator()()
6905
13.9M
        {
6906
13.9M
            arg_id = handler.on_arg_id();
6907
13.9M
        }
6908
13.9M
        constexpr void operator()(std::size_t id)
6909
13.9M
        {
6910
13.9M
            arg_id = handler.on_arg_id(id);
6911
13.9M
        }
6912
6913
13.9M
        constexpr void on_error(const char* msg)
6914
13.9M
        {
6915
13.9M
            SCN_UNLIKELY_ATTR
6916
13.9M
            handler.on_error(msg);
6917
13.9M
        }
6918
6919
13.9M
        Handler& handler;
6920
13.9M
        std::size_t arg_id;
6921
13.9M
    };
6922
6923
13.9M
    ++begin;
6924
13.9M
    if (SCN_UNLIKELY(begin == end)) {
6925
36
        handler.on_error("Unexpected end of replacement field");
6926
36
        return begin;
6927
36
    }
6928
6929
13.9M
    if (*begin == CharT{'}'}) {
6930
846
        handler.on_replacement_field(handler.on_arg_id(), begin);
6931
846
    }
6932
13.9M
    else if (*begin == CharT{'{'}) {
6933
0
        handler.on_literal_text(begin, begin + 1);
6934
0
    }
6935
13.9M
    else {
6936
13.9M
        auto adapter = id_adapter{handler, 0};
6937
13.9M
        begin = parse_arg_id(begin, end, adapter);
6938
6939
13.9M
        if (SCN_UNLIKELY(begin == end)) {
6940
36
            handler.on_error("Missing '}' in format string");
6941
36
            return begin;
6942
36
        }
6943
6944
13.9M
        if (*begin == CharT{'}'}) {
6945
36
            handler.on_replacement_field(adapter.arg_id, begin);
6946
36
        }
6947
13.9M
        else if (*begin == CharT{':'}) {
6948
13.9M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6949
36
                handler.on_error("Unexpected end of replacement field");
6950
36
                return begin;
6951
36
            }
6952
13.9M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6953
13.9M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6954
151k
                handler.on_error("Unknown format specifier");
6955
151k
                return begin;
6956
151k
            }
6957
13.9M
        }
6958
198
        else {
6959
198
            SCN_UNLIKELY_ATTR
6960
198
            handler.on_error("Missing '}' in format string");
6961
198
            return begin;
6962
198
        }
6963
13.9M
    }
6964
13.7M
    return begin + 1;
6965
13.9M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
6902
7.17M
{
6903
7.17M
    struct id_adapter {
6904
7.17M
        constexpr void operator()()
6905
7.17M
        {
6906
7.17M
            arg_id = handler.on_arg_id();
6907
7.17M
        }
6908
7.17M
        constexpr void operator()(std::size_t id)
6909
7.17M
        {
6910
7.17M
            arg_id = handler.on_arg_id(id);
6911
7.17M
        }
6912
6913
7.17M
        constexpr void on_error(const char* msg)
6914
7.17M
        {
6915
7.17M
            SCN_UNLIKELY_ATTR
6916
7.17M
            handler.on_error(msg);
6917
7.17M
        }
6918
6919
7.17M
        Handler& handler;
6920
7.17M
        std::size_t arg_id;
6921
7.17M
    };
6922
6923
7.17M
    ++begin;
6924
7.17M
    if (SCN_UNLIKELY(begin == end)) {
6925
0
        handler.on_error("Unexpected end of replacement field");
6926
0
        return begin;
6927
0
    }
6928
6929
7.17M
    if (*begin == CharT{'}'}) {
6930
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6931
0
    }
6932
7.17M
    else if (*begin == CharT{'{'}) {
6933
0
        handler.on_literal_text(begin, begin + 1);
6934
0
    }
6935
7.17M
    else {
6936
7.17M
        auto adapter = id_adapter{handler, 0};
6937
7.17M
        begin = parse_arg_id(begin, end, adapter);
6938
6939
7.17M
        if (SCN_UNLIKELY(begin == end)) {
6940
0
            handler.on_error("Missing '}' in format string");
6941
0
            return begin;
6942
0
        }
6943
6944
7.17M
        if (*begin == CharT{'}'}) {
6945
0
            handler.on_replacement_field(adapter.arg_id, begin);
6946
0
        }
6947
7.17M
        else if (*begin == CharT{':'}) {
6948
7.17M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6949
0
                handler.on_error("Unexpected end of replacement field");
6950
0
                return begin;
6951
0
            }
6952
7.17M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6953
7.17M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6954
145k
                handler.on_error("Unknown format specifier");
6955
145k
                return begin;
6956
145k
            }
6957
7.17M
        }
6958
0
        else {
6959
0
            SCN_UNLIKELY_ATTR
6960
0
            handler.on_error("Missing '}' in format string");
6961
0
            return begin;
6962
0
        }
6963
7.17M
    }
6964
7.03M
    return begin + 1;
6965
7.17M
}
6966
6967
template <bool IsConstexpr, typename CharT, typename Handler>
6968
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
6969
                                        Handler&& handler)
6970
25.2M
{
6971
    // TODO: memchr fast path with a larger (> 32) format string
6972
6973
25.2M
    auto begin = format.data();
6974
25.2M
    auto it = begin;
6975
25.2M
    const auto end = format.data() + format.size();
6976
6977
386M
    while (it != end) {
6978
363M
        const auto ch = *it++;
6979
363M
        if (ch == CharT{'{'}) {
6980
25.1M
            handler.on_literal_text(begin, it - 1);
6981
6982
25.1M
            begin = it = parse_replacement_field(it - 1, end, handler);
6983
25.1M
            if (!handler) {
6984
1.40M
                return;
6985
1.40M
            }
6986
25.1M
        }
6987
337M
        else if (ch == CharT{'}'}) {
6988
86.0k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
6989
83.3k
                handler.on_error("Unmatched '}' in format string");
6990
83.3k
                return;
6991
83.3k
            }
6992
6993
2.68k
            handler.on_literal_text(begin, it);
6994
2.68k
            begin = ++it;
6995
2.68k
        }
6996
363M
    }
6997
6998
23.7M
    handler.on_literal_text(begin, end);
6999
23.7M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
6970
2.06M
{
6971
    // TODO: memchr fast path with a larger (> 32) format string
6972
6973
2.06M
    auto begin = format.data();
6974
2.06M
    auto it = begin;
6975
2.06M
    const auto end = format.data() + format.size();
6976
6977
4.06M
    while (it != end) {
6978
2.30M
        const auto ch = *it++;
6979
2.30M
        if (ch == CharT{'{'}) {
6980
2.07M
            handler.on_literal_text(begin, it - 1);
6981
6982
2.07M
            begin = it = parse_replacement_field(it - 1, end, handler);
6983
2.07M
            if (!handler) {
6984
297k
                return;
6985
297k
            }
6986
2.07M
        }
6987
236k
        else if (ch == CharT{'}'}) {
6988
3.80k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
6989
1.12k
                handler.on_error("Unmatched '}' in format string");
6990
1.12k
                return;
6991
1.12k
            }
6992
6993
2.68k
            handler.on_literal_text(begin, it);
6994
2.68k
            begin = ++it;
6995
2.68k
        }
6996
2.30M
    }
6997
6998
1.76M
    handler.on_literal_text(begin, end);
6999
1.76M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
6970
1.92M
{
6971
    // TODO: memchr fast path with a larger (> 32) format string
6972
6973
1.92M
    auto begin = format.data();
6974
1.92M
    auto it = begin;
6975
1.92M
    const auto end = format.data() + format.size();
6976
6977
3.63M
    while (it != end) {
6978
1.92M
        const auto ch = *it++;
6979
1.92M
        if (ch == CharT{'{'}) {
6980
1.92M
            handler.on_literal_text(begin, it - 1);
6981
6982
1.92M
            begin = it = parse_replacement_field(it - 1, end, handler);
6983
1.92M
            if (!handler) {
6984
218k
                return;
6985
218k
            }
6986
1.92M
        }
6987
0
        else if (ch == CharT{'}'}) {
6988
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
6989
0
                handler.on_error("Unmatched '}' in format string");
6990
0
                return;
6991
0
            }
6992
6993
0
            handler.on_literal_text(begin, it);
6994
0
            begin = ++it;
6995
0
        }
6996
1.92M
    }
6997
6998
1.70M
    handler.on_literal_text(begin, end);
6999
1.70M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
6970
14.0M
{
6971
    // TODO: memchr fast path with a larger (> 32) format string
6972
6973
14.0M
    auto begin = format.data();
6974
14.0M
    auto it = begin;
6975
14.0M
    const auto end = format.data() + format.size();
6976
6977
365M
    while (it != end) {
6978
351M
        const auto ch = *it++;
6979
351M
        if (ch == CharT{'{'}) {
6980
13.9M
            handler.on_literal_text(begin, it - 1);
6981
6982
13.9M
            begin = it = parse_replacement_field(it - 1, end, handler);
6983
13.9M
            if (!handler) {
6984
452k
                return;
6985
452k
            }
6986
13.9M
        }
6987
337M
        else if (ch == CharT{'}'}) {
6988
82.2k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
6989
82.2k
                handler.on_error("Unmatched '}' in format string");
6990
82.2k
                return;
6991
82.2k
            }
6992
6993
0
            handler.on_literal_text(begin, it);
6994
0
            begin = ++it;
6995
0
        }
6996
351M
    }
6997
6998
13.5M
    handler.on_literal_text(begin, end);
6999
13.5M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
6970
7.17M
{
6971
    // TODO: memchr fast path with a larger (> 32) format string
6972
6973
7.17M
    auto begin = format.data();
6974
7.17M
    auto it = begin;
6975
7.17M
    const auto end = format.data() + format.size();
6976
6977
13.9M
    while (it != end) {
6978
7.17M
        const auto ch = *it++;
6979
7.17M
        if (ch == CharT{'{'}) {
6980
7.17M
            handler.on_literal_text(begin, it - 1);
6981
6982
7.17M
            begin = it = parse_replacement_field(it - 1, end, handler);
6983
7.17M
            if (!handler) {
6984
436k
                return;
6985
436k
            }
6986
7.17M
        }
6987
0
        else if (ch == CharT{'}'}) {
6988
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
6989
0
                handler.on_error("Unmatched '}' in format string");
6990
0
                return;
6991
0
            }
6992
6993
0
            handler.on_literal_text(begin, it);
6994
0
            begin = ++it;
6995
0
        }
6996
7.17M
    }
6997
6998
6.74M
    handler.on_literal_text(begin, end);
6999
6.74M
}
7000
7001
template <bool IsConstexpr, typename CharT, typename Handler>
7002
constexpr scan_error parse_format_string(std::basic_string_view<CharT> format,
7003
                                         Handler&& handler)
7004
25.2M
{
7005
25.2M
    parse_format_string_impl<IsConstexpr>(format, handler);
7006
25.2M
    handler.check_args_exhausted();
7007
25.2M
    return handler.get_error();
7008
25.2M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7004
2.06M
{
7005
2.06M
    parse_format_string_impl<IsConstexpr>(format, handler);
7006
2.06M
    handler.check_args_exhausted();
7007
2.06M
    return handler.get_error();
7008
2.06M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7004
1.92M
{
7005
1.92M
    parse_format_string_impl<IsConstexpr>(format, handler);
7006
1.92M
    handler.check_args_exhausted();
7007
1.92M
    return handler.get_error();
7008
1.92M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7004
14.0M
{
7005
14.0M
    parse_format_string_impl<IsConstexpr>(format, handler);
7006
14.0M
    handler.check_args_exhausted();
7007
14.0M
    return handler.get_error();
7008
14.0M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7004
7.17M
{
7005
7.17M
    parse_format_string_impl<IsConstexpr>(format, handler);
7006
7.17M
    handler.check_args_exhausted();
7007
7.17M
    return handler.get_error();
7008
7.17M
}
7009
7010
enum class arg_type_category {
7011
    none,
7012
    integer,
7013
    unsigned_integer,
7014
    floating,
7015
    string,
7016
    pointer,
7017
    boolean,
7018
    character,
7019
    custom
7020
};
7021
7022
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7023
820k
{
7024
820k
    switch (type) {
7025
70
        case arg_type::none_type:
7026
70
            return arg_type_category::none;
7027
7028
121k
        case arg_type::schar_type:
7029
121k
        case arg_type::short_type:
7030
258k
        case arg_type::int_type:
7031
258k
        case arg_type::long_type:
7032
398k
        case arg_type::llong_type:
7033
398k
            return arg_type_category::integer;
7034
7035
109k
        case arg_type::uchar_type:
7036
109k
        case arg_type::ushort_type:
7037
229k
        case arg_type::uint_type:
7038
229k
        case arg_type::ulong_type:
7039
351k
        case arg_type::ullong_type:
7040
351k
            return arg_type_category::unsigned_integer;
7041
7042
56
        case arg_type::pointer_type:
7043
56
            return arg_type_category::pointer;
7044
56
        case arg_type::bool_type:
7045
56
            return arg_type_category::boolean;
7046
56
        case arg_type::narrow_character_type:
7047
56
        case arg_type::wide_character_type:
7048
56
        case arg_type::code_point_type:
7049
56
            return arg_type_category::character;
7050
7051
14.7k
        case arg_type::float_type:
7052
35.8k
        case arg_type::double_type:
7053
56.8k
        case arg_type::ldouble_type:
7054
56.8k
            return arg_type_category::floating;
7055
7056
1.44k
        case arg_type::narrow_string_view_type:
7057
4.27k
        case arg_type::narrow_string_type:
7058
7.04k
        case arg_type::wide_string_view_type:
7059
12.6k
        case arg_type::wide_string_type:
7060
12.6k
            return arg_type_category::string;
7061
7062
0
        case arg_type::custom_type:
7063
0
            return arg_type_category::custom;
7064
7065
0
            SCN_CLANG_PUSH
7066
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7067
0
        default:
7068
0
            SCN_ENSURE(false);
7069
820k
            SCN_UNREACHABLE;
7070
820k
            SCN_CLANG_POP
7071
820k
    }
7072
7073
820k
    SCN_UNREACHABLE;
7074
820k
}
7075
7076
template <typename Handler>
7077
class specs_checker : public Handler {
7078
public:
7079
    template <typename H>
7080
    constexpr specs_checker(H&& handler, arg_type type)
7081
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7082
25.0M
    {
7083
25.0M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7084
25.0M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7082
2.04M
    {
7083
2.04M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7084
2.04M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7082
1.92M
    {
7083
1.92M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7084
1.92M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7082
13.9M
    {
7083
13.9M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7084
13.9M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7082
7.17M
    {
7083
7.17M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7084
7.17M
    }
7085
7086
    constexpr void on_localized()
7087
820k
    {
7088
820k
        const auto cat = get_category_for_arg_type(m_arg_type);
7089
820k
        if (cat != arg_type_category::integer &&
7090
820k
            cat != arg_type_category::unsigned_integer &&
7091
820k
            cat != arg_type_category::floating &&
7092
820k
            cat != arg_type_category::boolean) {
7093
12.8k
            SCN_UNLIKELY_ATTR
7094
            // clang-format off
7095
12.8k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7096
            // clang-format on
7097
12.8k
        }
7098
7099
807k
        Handler::on_localized();
7100
807k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::on_localized()
Line
Count
Source
7087
358k
    {
7088
358k
        const auto cat = get_category_for_arg_type(m_arg_type);
7089
358k
        if (cat != arg_type_category::integer &&
7090
358k
            cat != arg_type_category::unsigned_integer &&
7091
358k
            cat != arg_type_category::floating &&
7092
358k
            cat != arg_type_category::boolean) {
7093
3.12k
            SCN_UNLIKELY_ATTR
7094
            // clang-format off
7095
3.12k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7096
            // clang-format on
7097
3.12k
        }
7098
7099
355k
        Handler::on_localized();
7100
355k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::on_localized()
Line
Count
Source
7087
357k
    {
7088
357k
        const auto cat = get_category_for_arg_type(m_arg_type);
7089
357k
        if (cat != arg_type_category::integer &&
7090
357k
            cat != arg_type_category::unsigned_integer &&
7091
357k
            cat != arg_type_category::floating &&
7092
357k
            cat != arg_type_category::boolean) {
7093
1.38k
            SCN_UNLIKELY_ATTR
7094
            // clang-format off
7095
1.38k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7096
            // clang-format on
7097
1.38k
        }
7098
7099
356k
        Handler::on_localized();
7100
356k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7087
53.1k
    {
7088
53.1k
        const auto cat = get_category_for_arg_type(m_arg_type);
7089
53.1k
        if (cat != arg_type_category::integer &&
7090
53.1k
            cat != arg_type_category::unsigned_integer &&
7091
53.1k
            cat != arg_type_category::floating &&
7092
53.1k
            cat != arg_type_category::boolean) {
7093
5.54k
            SCN_UNLIKELY_ATTR
7094
            // clang-format off
7095
5.54k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7096
            // clang-format on
7097
5.54k
        }
7098
7099
47.5k
        Handler::on_localized();
7100
47.5k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7087
50.3k
    {
7088
50.3k
        const auto cat = get_category_for_arg_type(m_arg_type);
7089
50.3k
        if (cat != arg_type_category::integer &&
7090
50.3k
            cat != arg_type_category::unsigned_integer &&
7091
50.3k
            cat != arg_type_category::floating &&
7092
50.3k
            cat != arg_type_category::boolean) {
7093
2.77k
            SCN_UNLIKELY_ATTR
7094
            // clang-format off
7095
2.77k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7096
            // clang-format on
7097
2.77k
        }
7098
7099
47.5k
        Handler::on_localized();
7100
47.5k
    }
7101
7102
private:
7103
    arg_type m_arg_type;
7104
};
7105
7106
template <typename Handler>
7107
constexpr void check_int_type_specs(const format_specs& specs,
7108
                                    Handler&& handler)
7109
3.97M
{
7110
3.97M
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7111
13.3k
        return handler.on_error("Invalid type specifier for integer type");
7112
13.3k
    }
7113
3.96M
    if (specs.localized) {
7114
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7115
            // clang-format off
7116
8
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7117
            // clang-format on
7118
8
            return;
7119
8
        }
7120
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7121
            // clang-format off
7122
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7123
            // clang-format on
7124
0
        }
7125
750k
    }
7126
3.96M
}
Unexecuted instantiation: void scn::v3::detail::check_int_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_int_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7109
3.97M
{
7110
3.97M
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7111
13.3k
        return handler.on_error("Invalid type specifier for integer type");
7112
13.3k
    }
7113
3.96M
    if (specs.localized) {
7114
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7115
            // clang-format off
7116
8
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7117
            // clang-format on
7118
8
            return;
7119
8
        }
7120
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7121
            // clang-format off
7122
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7123
            // clang-format on
7124
0
        }
7125
750k
    }
7126
3.96M
}
7127
7128
template <typename Handler>
7129
constexpr void check_char_type_specs(const format_specs& specs,
7130
                                     Handler&& handler)
7131
7.21k
{
7132
7.21k
    if (specs.type > presentation_type::int_hex ||
7133
7.21k
        specs.type == presentation_type::int_arbitrary_base) {
7134
6.64k
        SCN_UNLIKELY_ATTR
7135
6.64k
        return handler.on_error("Invalid type specifier for character type");
7136
6.64k
    }
7137
7.21k
}
Unexecuted instantiation: void scn::v3::detail::check_char_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_char_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7131
7.21k
{
7132
7.21k
    if (specs.type > presentation_type::int_hex ||
7133
7.21k
        specs.type == presentation_type::int_arbitrary_base) {
7134
6.64k
        SCN_UNLIKELY_ATTR
7135
6.64k
        return handler.on_error("Invalid type specifier for character type");
7136
6.64k
    }
7137
7.21k
}
7138
7139
template <typename Handler>
7140
constexpr void check_code_point_type_specs(const format_specs& specs,
7141
                                           Handler&& handler)
7142
0
{
7143
0
    if (specs.type != presentation_type::none &&
7144
0
        specs.type != presentation_type::character) {
7145
0
        SCN_UNLIKELY_ATTR
7146
0
        return handler.on_error("Invalid type specifier for code point type");
7147
0
    }
7148
0
}
7149
7150
template <typename Handler>
7151
constexpr void check_float_type_specs(const format_specs& specs,
7152
                                      Handler&& handler)
7153
184k
{
7154
184k
    if (specs.type != presentation_type::none &&
7155
184k
        (specs.type < presentation_type::float_hex ||
7156
126k
         specs.type > presentation_type::float_general)) {
7157
6.69k
        SCN_UNLIKELY_ATTR
7158
6.69k
        return handler.on_error("Invalid type specifier for float type");
7159
6.69k
    }
7160
184k
}
Unexecuted instantiation: void scn::v3::detail::check_float_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_float_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7153
184k
{
7154
184k
    if (specs.type != presentation_type::none &&
7155
184k
        (specs.type < presentation_type::float_hex ||
7156
126k
         specs.type > presentation_type::float_general)) {
7157
6.69k
        SCN_UNLIKELY_ATTR
7158
6.69k
        return handler.on_error("Invalid type specifier for float type");
7159
6.69k
    }
7160
184k
}
7161
7162
template <typename Handler>
7163
constexpr void check_string_type_specs(const format_specs& specs,
7164
                                       Handler&& handler)
7165
20.4M
{
7166
20.4M
    if (specs.type == presentation_type::none ||
7167
20.4M
        specs.type == presentation_type::string ||
7168
20.4M
        specs.type == presentation_type::string_set ||
7169
20.4M
        specs.type == presentation_type::regex ||
7170
20.4M
        specs.type == presentation_type::regex_escaped) {
7171
20.4M
        return;
7172
20.4M
    }
7173
13.2k
    if (specs.type == presentation_type::character) {
7174
12.8k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7175
            // clang-format off
7176
12.8k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7177
            // clang-format on
7178
12.8k
        }
7179
0
        return;
7180
12.8k
    }
7181
432
    SCN_UNLIKELY_ATTR
7182
432
    handler.on_error("Invalid type specifier for string");
7183
432
}
Unexecuted instantiation: void scn::v3::detail::check_string_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_string_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7165
20.4M
{
7166
20.4M
    if (specs.type == presentation_type::none ||
7167
20.4M
        specs.type == presentation_type::string ||
7168
20.4M
        specs.type == presentation_type::string_set ||
7169
20.4M
        specs.type == presentation_type::regex ||
7170
20.4M
        specs.type == presentation_type::regex_escaped) {
7171
20.4M
        return;
7172
20.4M
    }
7173
13.2k
    if (specs.type == presentation_type::character) {
7174
12.8k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7175
            // clang-format off
7176
12.8k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7177
            // clang-format on
7178
12.8k
        }
7179
0
        return;
7180
12.8k
    }
7181
432
    SCN_UNLIKELY_ATTR
7182
432
    handler.on_error("Invalid type specifier for string");
7183
432
}
7184
7185
template <typename Handler>
7186
constexpr void check_pointer_type_specs(const format_specs& specs,
7187
                                        Handler&& handler)
7188
7.21k
{
7189
7.21k
    if (specs.type != presentation_type::none &&
7190
7.21k
        specs.type != presentation_type::pointer) {
7191
6.72k
        SCN_UNLIKELY_ATTR
7192
6.72k
        return handler.on_error("Invalid type specifier for pointer");
7193
6.72k
    }
7194
7.21k
}
Unexecuted instantiation: void scn::v3::detail::check_pointer_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_pointer_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7188
7.21k
{
7189
7.21k
    if (specs.type != presentation_type::none &&
7190
7.21k
        specs.type != presentation_type::pointer) {
7191
6.72k
        SCN_UNLIKELY_ATTR
7192
6.72k
        return handler.on_error("Invalid type specifier for pointer");
7193
6.72k
    }
7194
7.21k
}
7195
7196
template <typename Handler>
7197
constexpr void check_bool_type_specs(const format_specs& specs,
7198
                                     Handler&& handler)
7199
7.25k
{
7200
7.25k
    if (specs.type != presentation_type::none &&
7201
7.25k
        specs.type != presentation_type::string &&
7202
7.25k
        specs.type != presentation_type::int_generic &&
7203
7.25k
        specs.type != presentation_type::int_hex &&
7204
7.25k
        specs.type != presentation_type::int_binary &&
7205
7.25k
        specs.type != presentation_type::int_unsigned_decimal &&
7206
7.25k
        specs.type != presentation_type::int_octal &&
7207
7.25k
        specs.type != presentation_type::int_decimal) {
7208
6.57k
        SCN_UNLIKELY_ATTR
7209
6.57k
        return handler.on_error("Invalid type specifier for boolean");
7210
6.57k
    }
7211
7.25k
}
Unexecuted instantiation: void scn::v3::detail::check_bool_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_bool_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7199
7.25k
{
7200
7.25k
    if (specs.type != presentation_type::none &&
7201
7.25k
        specs.type != presentation_type::string &&
7202
7.25k
        specs.type != presentation_type::int_generic &&
7203
7.25k
        specs.type != presentation_type::int_hex &&
7204
7.25k
        specs.type != presentation_type::int_binary &&
7205
7.25k
        specs.type != presentation_type::int_unsigned_decimal &&
7206
7.25k
        specs.type != presentation_type::int_octal &&
7207
7.25k
        specs.type != presentation_type::int_decimal) {
7208
6.57k
        SCN_UNLIKELY_ATTR
7209
6.57k
        return handler.on_error("Invalid type specifier for boolean");
7210
6.57k
    }
7211
7.25k
}
7212
7213
template <typename Handler>
7214
constexpr void check_regex_type_specs(const format_specs& specs,
7215
                                      Handler&& handler)
7216
0
{
7217
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
7218
0
                     specs.charset_string_size == 0)) {
7219
        // clang-format off
7220
0
        return handler.on_error("Regular expression needs to specified when reading regex_matches");
7221
        // clang-format on
7222
0
    }
7223
0
    if (specs.type == presentation_type::regex ||
7224
0
        specs.type == presentation_type::regex_escaped) {
7225
0
        return;
7226
0
    }
7227
0
    SCN_UNLIKELY_ATTR
7228
0
    handler.on_error("Invalid type specifier for regex_matches");
7229
0
}
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
7230
}  // namespace detail
7231
7232
/**
7233
 * \defgroup format-string Format strings
7234
 *
7235
 * \brief Format string description
7236
 *
7237
 * The format string syntax is heavily influenced by {fmt} and
7238
 * `std::format`, and is largely compatible with it. Scanning functions,
7239
 * such as `scn::scan` and
7240
 * `scn::input`, use the format string syntax described in this section.
7241
 *
7242
 * Format strings consist of:
7243
 *
7244
 *  * Replacement fields, which are surrounded by curly braces `{}`.
7245
 *
7246
 *  * Non-whitespace characters (except `{}`; for literal braces, use
7247
 *    `{{` and `}}`), which consume exactly one identical character from the
7248
 *    input
7249
 *
7250
 *  * Whitespace characters, which consume any and all available consecutive
7251
 *    whitespace from the input.
7252
 *
7253
 * Literal characters are matched by code point one-to-one, with no
7254
 * normalization being done.
7255
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
7256
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
7257
 *
7258
 * Characters (code points) are considered to be whitespace characters by
7259
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
7260
 * These code points are:
7261
 *
7262
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
7263
 *  * U+0085 (next line)
7264
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
7265
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
7266
 *
7267
 * The grammar for a replacement field is as follows:
7268
 *
7269
 * \code
7270
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
7271
 * arg-id              ::= positive-integer
7272
 *
7273
 * format-spec         ::= [fill-and-align]
7274
 *                         [width] [precision]
7275
 *                         ['L'] [type]
7276
 * fill-and-align      ::= [fill] align
7277
 * fill                ::= any character other than
7278
 *                         '{' or '}'
7279
 * align               ::= one of '<' '>' '^'
7280
 * width               ::= positive-integer
7281
 * precision           ::= '.' nonnegative-integer
7282
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
7283
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
7284
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
7285
 * \endcode
7286
 *
7287
 * \section arg-ids Argument IDs
7288
 *
7289
 * The `arg-id` specifier can be used to index arguments manually.
7290
 * If manual indexing is used, all of the indices in a format string must be
7291
 * stated explicitly. The same `arg-id` can appear in the format string
7292
 * only once, and must refer to a valid argument.
7293
 *
7294
 * \code{.cpp}
7295
 * // Format string equivalent to "{0} to {1}"
7296
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
7297
 * // a->values() == (2, 300)
7298
 *
7299
 * // Manual indexing
7300
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
7301
 * // b->values() == (3, 200)
7302
 *
7303
 * // INVALID:
7304
 * // Automatic and manual indexing is mixed
7305
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
7306
 *
7307
 * // INVALID:
7308
 * // Same argument is referred to multiple times
7309
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
7310
 *
7311
 * // INVALID:
7312
 * // {2} does not refer to an argument
7313
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
7314
 * \endcode
7315
 *
7316
 * \section fill-and-align Fill and align
7317
 *
7318
 * Alignment allows for skipping character before and/or after a value.
7319
 * There are three possible values for alignment:
7320
 *
7321
 * <table>
7322
 * <caption id="align-table">
7323
 * Alignment options
7324
 * </caption>
7325
 *
7326
 * <tr><th>Option</th> <th>Meaning</th></tr>
7327
 *
7328
 * <tr>
7329
 * <td>`<`</td>
7330
 * <td>
7331
 * Align the value to the left (skips fill characters after the value)
7332
 * </td>
7333
 * </tr>
7334
 *
7335
 * <tr>
7336
 * <td>`>`</td>
7337
 * <td>
7338
 * Align the value to the right (skips fill characters before the value)
7339
 * </td>
7340
 * </tr>
7341
 *
7342
 * <tr>
7343
 * <td>`^`</td>
7344
 * <td>
7345
 * Align the value to the center
7346
 * (skips fill characters both before and after the value)
7347
 * </td>
7348
 * </tr>
7349
 * </table>
7350
 *
7351
 * The fill character can be any Unicode code point, except for `{` and `}`.
7352
 * The default fill is any whitespace character, as specified above.
7353
 *
7354
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
7355
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
7356
 * the default alignment is `>`.
7357
 * In practice, this means that leading whitespace is skipped by default.
7358
 * For the `c` format type specifier, there's no default alignment,
7359
 * and no fill characters are skipped, including whitespace.
7360
 *
7361
 * The number of fill characters consumed can be controlled with the width and
7362
 * precision specifiers.
7363
 *
7364
 * \section width Width
7365
 *
7366
 * Width specifies the minimum number of characters that will be read from
7367
 * the source range. It can be any unsigned integer. Any fill characters skipped
7368
 * are included in the width.
7369
 *
7370
 * For the purposes of width calculation, the same algorithm is used that in
7371
 * {fmt}. Every code point has a width of one, except the following ones
7372
 * have a width of 2:
7373
 *
7374
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
7375
 *   Derived Extracted Property as described by UAX#44
7376
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
7377
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
7378
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
7379
 *
7380
 * \section precision Precision
7381
 *
7382
 * Precision specifies the maximum number of characters that will be read from
7383
 * the source range. The method for counting characters is the same as above,
7384
 * with the width field.
7385
 *
7386
 * \section localized Localized
7387
 *
7388
 * The `L` flag enables localized scanning.
7389
 * Its effects are different for each type it is used with:
7390
 *
7391
 *  * For integers, it enables locale-specific thousands separators
7392
 *  * For floating-point numbers, it enables locale-specific thousands and
7393
 *    radix (decimal) separators
7394
 *  * For booleans, it enables locale-specific textual representations (for
7395
 *    `true` and `false`)
7396
 *  * For other types, it has no effect
7397
 *
7398
 * \section type Type specifier
7399
 *
7400
 * The type specifier determines how the data is to be scanned.
7401
 * The type of the argument to be scanned determines what flags are valid.
7402
 *
7403
 * \subsection type-string Type specifier: strings
7404
 *
7405
 * <table>
7406
 * <caption id="type-string-table">
7407
 * String types (`std::basic_string` and `std::basic_string_view`)
7408
 * </caption>
7409
 * <tr><th>Type</th> <th>Meaning</th></tr>
7410
 * <tr>
7411
 * <td>none, `s`</td>
7412
 * <td>
7413
 * Copies from the input until a whitespace character is encountered, or,
7414
 * if using the `<` (left) or `^` (center) alignment,
7415
 * a fill character is encountered.
7416
 * </td>
7417
 * </tr>
7418
 * <tr>
7419
 * <td>`c`</td>
7420
 * <td>
7421
 * Copies from the input until the field width is exhausted.
7422
 * Has no default alignment
7423
 * (doesn't skip preceding whitespace, if no alignment is specified).
7424
 * Errors if no field precision is provided.
7425
 * </td>
7426
 * </tr>
7427
 * <tr>
7428
 * <td>`[...]`</td>
7429
 * <td>
7430
 * Character set matching: copies from the input until a character not specified
7431
 * in the set is encountered. Character ranges can be specified with `-`, and
7432
 * the entire selection can be inverted with a prefix `^`. Matches and supports
7433
 * arbitrary Unicode code points.
7434
 * Has no default alignment
7435
 * (doesn't skip preceding whitespace, if no alignment is specified).
7436
 * </td>
7437
 * </tr>
7438
 * <tr>
7439
 * <td>`/<regex>/<flags>`</td>
7440
 * <td>
7441
 * Regular expression matching: copies from the input until the input does not
7442
 * match the regex.
7443
 * Has no default alignment
7444
 * (doesn't skip preceding whitespace, if no alignment is specified).
7445
 * \see regex
7446
 * </td>
7447
 * </tr>
7448
 * </table>
7449
 *
7450
 * \note `std::basic_string_view` can only be scanned if the source is
7451
 * contiguous.
7452
 *
7453
 * \subsection type-int Type specifier: integers
7454
 *
7455
 * Integer values are scanned as if by using `std::from_chars`,
7456
 * except a positive `+` sign and a base prefix (like `0x`) are always
7457
 * allowed to be present.
7458
 *
7459
 * <table>
7460
 * <caption id="type-int-table">
7461
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
7462
 * `int`, `long`, and `long long`)
7463
 * </caption>
7464
 * <tr><th>Type</th> <th>Meaning</th></tr>
7465
 * <tr>
7466
 * <td>`b`, `B`</td>
7467
 * <td>
7468
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
7469
 * </td>
7470
 * </tr>
7471
 * <tr>
7472
 * <td>`o`, `O`</td>
7473
 * <td>
7474
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
7475
 * `0`.
7476
 * </td>
7477
 * </tr>
7478
 * <tr>
7479
 * <td>`x`, `X`</td>
7480
 * <td>
7481
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
7482
 * </td>
7483
 * </tr>
7484
 * <tr>
7485
 * <td>`d`</td>
7486
 * <td>
7487
 * `std::from_chars` with base `10`. No base prefix allowed.
7488
 * </td>
7489
 * </tr>
7490
 * <tr>
7491
 * <td>`u`</td>
7492
 * <td>
7493
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
7494
 * </td>
7495
 * </tr>
7496
 * <tr>
7497
 * <td>`i`</td>
7498
 * <td>
7499
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
7500
 * </td>
7501
 * </tr>
7502
 * <tr>
7503
 * <td>`rXX` (where XX = [2, 36])</td>
7504
 * <td>
7505
 * Custom base, without a base prefix (r stands for radix).
7506
 * </td>
7507
 * </tr>
7508
 * <tr>
7509
 * <td>`c`</td>
7510
 * <td>
7511
 * Copies a character (code unit) from the input.
7512
 * </td>
7513
 * </tr>
7514
 * <tr>
7515
 * <td>none</td>
7516
 * <td>
7517
 * Same as `d`.
7518
 * </td>
7519
 * </tr>
7520
 * </table>
7521
 *
7522
 * \subsection type-char Type specifier: characters
7523
 *
7524
 * <table>
7525
 * <caption id="type-char-table">
7526
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
7527
 * </caption>
7528
 * <tr><th>Type</th> <th>Meaning</th></tr>
7529
 * <tr>
7530
 * <td>none, `c`</td>
7531
 * <td>
7532
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
7533
 * input.
7534
 * </td>
7535
 * </tr>
7536
 * <tr>
7537
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7538
 * <td>
7539
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
7540
 * </td>
7541
 * </tr>
7542
 * </table>
7543
 *
7544
 * \note When scanning characters (`char` and `wchar_t`), the source range is
7545
 * read a single code unit at a time, and encoding is not respected.
7546
 *
7547
 * \subsection type-float Type specifier: floating-point values
7548
 *
7549
 * Floating-point values are scanned as if by using `std::from_chars`,
7550
 * except a positive `+` sign and a base prefix (like `0x`) are always
7551
 * allowed to be present.
7552
 *
7553
 * <table>
7554
 * <caption id="type-float-table">
7555
 * Floating-point types (`float`, `double`, and `long double`)
7556
 * </caption>
7557
 * <tr><th>Type</th> <th>Meaning</th></tr>
7558
 * <tr>
7559
 * <td>`a`, `A`</td>
7560
 * <td>
7561
 * `std::from_chars` with `std::chars_format::hex`.
7562
 * Prefix `0x`/`0X` is allowed.
7563
 * </td>
7564
 * </tr>
7565
 * <tr>
7566
 * <td>`e`, `E`</td>
7567
 * <td>
7568
 * `std::from_chars` with `std::chars_format::scientific`.
7569
 * </td>
7570
 * </tr>
7571
 * <tr>
7572
 * <td>`f`, `F`</td>
7573
 * <td>
7574
 * `std::from_chars` with `std::chars_format::fixed`.
7575
 * </td>
7576
 * </tr>
7577
 * <tr>
7578
 * <td>`g`, `G`</td>
7579
 * <td>
7580
 * `std::from_chars` with `std::chars_format::general`.
7581
 * </td>
7582
 * </tr>
7583
 * <tr>
7584
 * <td>none</td>
7585
 * <td>
7586
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
7587
 * Prefix `0x`/`0X` is allowed.
7588
 * </td>
7589
 * </tr>
7590
 * </table>
7591
 *
7592
 * \subsection type-bool Type specifier: booleans
7593
 *
7594
 * <table>
7595
 * <caption id="type-bool-table">
7596
 * `bool`
7597
 * </caption>
7598
 * <tr><th>Type</th> <th>Meaning</th></tr>
7599
 * <tr>
7600
 * <td>`s`</td>
7601
 * <td>
7602
 * Allows for the textual representation (`true` or `false`).
7603
 * </td>
7604
 * </tr>
7605
 * <tr>
7606
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7607
 * <td>
7608
 * Allows for the integral/numeric representation (`0` or `1`).
7609
 * </td>
7610
 * </tr>
7611
 * <tr>
7612
 * <td>none</td>
7613
 * <td>
7614
 * Allows for both the textual and the integral/numeric representation.
7615
 * </td>
7616
 * </tr>
7617
 * </table>
7618
 */
7619
7620
namespace detail {
7621
/**
7622
 * A runtime format string
7623
 *
7624
 * \ingroup format-string
7625
 */
7626
template <typename CharT>
7627
struct basic_runtime_format_string {
7628
46.4M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7628
4.86M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7628
41.5M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
7629
7630
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
7631
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
7632
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
7633
        delete;
7634
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
7635
        delete;
7636
    ~basic_runtime_format_string() = default;
7637
7638
    std::basic_string_view<CharT> str;
7639
};
7640
}  // namespace detail
7641
7642
/**
7643
 * Create a runtime format string
7644
 *
7645
 * Can be used to avoid compile-time format string checking
7646
 *
7647
 * \ingroup format-string
7648
 */
7649
inline detail::basic_runtime_format_string<char> runtime_format(
7650
    std::string_view s)
7651
4.86M
{
7652
4.86M
    return s;
7653
4.86M
}
7654
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
7655
    std::wstring_view s)
7656
41.5M
{
7657
41.5M
    return s;
7658
41.5M
}
7659
7660
namespace detail {
7661
struct compile_string {};
7662
7663
template <typename Str>
7664
inline constexpr bool is_compile_string_v =
7665
    std::is_base_of_v<compile_string, Str>;
7666
7667
template <typename Scanner, typename = void>
7668
inline constexpr bool scanner_has_format_specs_member_v = false;
7669
template <typename Scanner>
7670
inline constexpr bool scanner_has_format_specs_member_v<
7671
    Scanner,
7672
    std::void_t<decltype(SCN_DECLVAL(Scanner&)._format_specs())>> = true;
7673
7674
template <typename T, typename Source, typename Ctx, typename ParseCtx>
7675
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
7676
{
7677
    using char_type = typename ParseCtx::char_type;
7678
    using mapped_type = std::conditional_t<
7679
        mapped_type_constant<T, char_type>::value != arg_type::custom_type,
7680
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
7681
            SCN_DECLVAL(T&)))>,
7682
        T>;
7683
    auto s = typename Ctx::template scanner_type<mapped_type>{};
7684
    auto it = s.parse(parse_ctx)
7685
                  .transform_error([&](scan_error err) constexpr {
7686
                      parse_ctx.on_error(err.msg());
7687
                      return err;
7688
                  })
7689
                  .value_or(parse_ctx.end());
7690
    if constexpr (scanner_has_format_specs_member_v<decltype(s)>) {
7691
        auto& specs = s._format_specs();
7692
        if ((specs.type == presentation_type::regex ||
7693
             specs.type == presentation_type::regex_escaped) &&
7694
            !(ranges::range<Source> && ranges::contiguous_range<Source>)) {
7695
            // clang-format off
7696
            parse_ctx.on_error("Cannot read a regex from a non-contiguous source");
7697
            // clang-format on
7698
        }
7699
    }
7700
    return it;
7701
}
7702
7703
template <typename CharT, typename Source, typename... Args>
7704
class format_string_checker {
7705
public:
7706
    using parse_context_type = compile_parse_context<CharT>;
7707
    static constexpr auto num_args = sizeof...(Args);
7708
7709
    explicit constexpr format_string_checker(
7710
        std::basic_string_view<CharT> format_str)
7711
        : m_parse_context(format_str,
7712
                          num_args,
7713
                          m_types,
7714
                          type_identity<Source>{}),
7715
          m_parse_funcs{&parse_format_specs<Args,
7716
                                            Source,
7717
                                            basic_scan_context<CharT>,
7718
                                            parse_context_type>...},
7719
          m_types{arg_type_constant<Args, CharT>::value...}
7720
    {
7721
    }
7722
7723
    constexpr void on_literal_text(const CharT* begin, const CharT* end) const
7724
    {
7725
        // TODO: Do we want to validate Unicode in format strings?
7726
        // We're dealing with text, so we probably do.
7727
        // We could do codeunit-to-codeunit matching,
7728
        // but that could get messy wrt. whitespace matching.
7729
        // It's simpler to not allow nonsense.
7730
        while (begin != end) {
7731
            const auto len = code_point_length_by_starting_code_unit(*begin);
7732
            if (SCN_UNLIKELY(len == 0 ||
7733
                             static_cast<size_t>(end - begin) < len)) {
7734
                return on_error("Invalid encoding in format string");
7735
            }
7736
7737
            const auto cp = decode_code_point_exhaustive(
7738
                std::basic_string_view<CharT>{begin, len});
7739
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7740
                return on_error("Invalid encoding in format string");
7741
            }
7742
7743
            begin += len;
7744
        }
7745
    }
7746
7747
    constexpr auto on_arg_id()
7748
    {
7749
        return m_parse_context.next_arg_id();
7750
    }
7751
    constexpr auto on_arg_id(std::size_t id)
7752
    {
7753
        m_parse_context.check_arg_id(id);
7754
        return id;
7755
    }
7756
7757
    constexpr void on_replacement_field(size_t id, const CharT*)
7758
    {
7759
        m_parse_context.check_arg_can_be_read(id);
7760
        set_arg_as_read(id);
7761
7762
        if (m_types[id] == arg_type::narrow_regex_matches_type ||
7763
            m_types[id] == arg_type::wide_regex_matches_type) {
7764
            // clang-format off
7765
            return on_error("Regular expression needs to be specified when reading regex_matches");
7766
            // clang-format on
7767
        }
7768
    }
7769
7770
    constexpr const CharT* on_format_specs(std::size_t id,
7771
                                           const CharT* begin,
7772
                                           const CharT*)
7773
    {
7774
        m_parse_context.check_arg_can_be_read(id);
7775
        set_arg_as_read(id);
7776
        m_parse_context.advance_to(begin);
7777
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
7778
    }
7779
7780
    constexpr void check_args_exhausted() const
7781
    {
7782
        if (num_args == 0) {
7783
            return;
7784
        }
7785
        for (auto is_set : m_visited_args) {
7786
            if (!is_set) {
7787
                return on_error("Argument list not exhausted");
7788
            }
7789
        }
7790
    }
7791
7792
    void on_error(const char* msg) const
7793
    {
7794
        SCN_UNLIKELY_ATTR
7795
        m_parse_context.on_error(msg);
7796
    }
7797
7798
    // Only to satisfy the concept and eliminate compiler errors,
7799
    // because errors are reported by failing to compile on_error above
7800
    // (it's not constexpr)
7801
    constexpr explicit operator bool() const
7802
    {
7803
        return true;
7804
    }
7805
    constexpr scan_error get_error() const
7806
    {
7807
        return {};
7808
    }
7809
7810
private:
7811
    constexpr void set_arg_as_read(size_t id)
7812
    {
7813
        if (id >= num_args) {
7814
            return on_error("Invalid out-of-range argument ID");
7815
        }
7816
        if (m_visited_args[id]) {
7817
            return on_error("Argument with this ID already scanned");
7818
        }
7819
        m_visited_args[id] = true;
7820
    }
7821
7822
    using parse_func = const CharT* (*)(parse_context_type&);
7823
7824
    parse_context_type m_parse_context;
7825
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
7826
    arg_type m_types[num_args > 0 ? num_args : 1];
7827
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
7828
};
7829
7830
template <typename Source, typename... Args, typename Str>
7831
auto check_format_string(const Str&)
7832
    -> std::enable_if_t<!is_compile_string_v<Str>>
7833
{
7834
    // TODO: SCN_ENFORE_COMPILE_STRING?
7835
#if 0  // SCN_ENFORE_COMPILE_STRING
7836
    static_assert(dependent_false<Str>::value,
7837
              "SCN_ENFORCE_COMPILE_STRING requires all format "
7838
              "strings to use SCN_STRING.");
7839
#endif
7840
}
7841
7842
template <typename Source, typename... Args, typename Str>
7843
auto check_format_string(Str format_str)
7844
    -> std::enable_if_t<is_compile_string_v<Str>>
7845
{
7846
    using char_type = typename Str::char_type;
7847
7848
    SCN_GCC_PUSH
7849
    SCN_GCC_IGNORE("-Wconversion")
7850
    constexpr auto s = std::basic_string_view<char_type>{format_str};
7851
    SCN_GCC_POP
7852
7853
    using checker = format_string_checker<char_type, Source, Args...>;
7854
    constexpr bool invalid_format =
7855
        (parse_format_string<true>(s, checker(s)), true);
7856
    SCN_UNUSED(invalid_format);
7857
}
7858
7859
template <typename CharT, std::size_t N>
7860
constexpr std::basic_string_view<CharT> compile_string_to_view(
7861
    const CharT (&s)[N])
7862
{
7863
    return {s, N - 1};
7864
}
7865
template <typename CharT>
7866
constexpr std::basic_string_view<CharT> compile_string_to_view(
7867
    std::basic_string_view<CharT> s)
7868
{
7869
    return s;
7870
}
7871
}  // namespace detail
7872
7873
#define SCN_STRING_IMPL(s, base, expl)                                       \
7874
    [] {                                                                     \
7875
        struct SCN_COMPILE_STRING : base {                                   \
7876
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
7877
            SCN_MAYBE_UNUSED constexpr expl                                  \
7878
            operator ::std::basic_string_view<char_type>() const             \
7879
            {                                                                \
7880
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
7881
            }                                                                \
7882
        };                                                                   \
7883
        return SCN_COMPILE_STRING{};                                         \
7884
    }()
7885
7886
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
7887
7888
/**
7889
 * Compile-time format string
7890
 *
7891
 * \ingroup format-string
7892
 */
7893
template <typename CharT, typename Source, typename... Args>
7894
class basic_scan_format_string {
7895
public:
7896
    SCN_CLANG_PUSH
7897
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
7898
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
7899
#endif
7900
    template <
7901
        typename S,
7902
        std::enable_if_t<
7903
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
7904
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
7905
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
7906
    {
7907
#if SCN_HAS_CONSTEVAL
7908
        using checker = detail::format_string_checker<CharT, Source, Args...>;
7909
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
7910
        SCN_UNUSED(e);
7911
#else
7912
        detail::check_format_string<Source, Args...>(s);
7913
#endif
7914
    }
7915
    SCN_CLANG_POP
7916
7917
    template <
7918
        typename OtherSource,
7919
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
7920
                                        detail::remove_cvref_t<OtherSource>> &&
7921
                         ranges::borrowed_range<Source> ==
7922
                             ranges::borrowed_range<OtherSource>>* = nullptr>
7923
    constexpr basic_scan_format_string(
7924
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
7925
        : m_str(other.get())
7926
    {
7927
    }
7928
7929
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
7930
        : m_str(r.str)
7931
46.4M
    {
7932
46.4M
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
9.04k
    {
7932
9.04k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
18.0k
    {
7932
18.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
311k
    {
7932
311k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
300k
    {
7932
300k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
393k
    {
7932
393k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
339k
    {
7932
339k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
400k
    {
7932
400k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
343k
    {
7932
343k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
313k
    {
7932
313k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
302k
    {
7932
302k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
394k
    {
7932
394k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
341k
    {
7932
341k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
401k
    {
7932
401k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
345k
    {
7932
345k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.3k
    {
7932
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.3k
    {
7932
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.4k
    {
7932
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.3k
    {
7932
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.6k
    {
7932
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.4k
    {
7932
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.3k
    {
7932
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.3k
    {
7932
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.4k
    {
7932
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.3k
    {
7932
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.6k
    {
7932
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
78.4k
    {
7932
78.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
124k
    {
7932
124k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
124k
    {
7932
124k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
125k
    {
7932
125k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
13.4M
    {
7932
13.4M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
13.4M
    {
7932
13.4M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
13.4M
    {
7932
13.4M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
31.5k
    {
7932
31.5k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
41.4k
    {
7932
41.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
41.4k
    {
7932
41.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
29.7k
    {
7932
29.7k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
39.6k
    {
7932
39.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7931
39.6k
    {
7932
39.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
768
    {
7932
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
768
    {
7932
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
768
    {
7932
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
768
    {
7932
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
768
    {
7932
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7931
768
    {
7932
768
    }
7933
7934
    constexpr operator std::basic_string_view<CharT>() const
7935
46.4M
    {
7936
46.4M
        return m_str;
7937
46.4M
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
9.04k
    {
7936
9.04k
        return m_str;
7937
9.04k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
18.0k
    {
7936
18.0k
        return m_str;
7937
18.0k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
311k
    {
7936
311k
        return m_str;
7937
311k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
300k
    {
7936
300k
        return m_str;
7937
300k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
393k
    {
7936
393k
        return m_str;
7937
393k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
339k
    {
7936
339k
        return m_str;
7937
339k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
400k
    {
7936
400k
        return m_str;
7937
400k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
343k
    {
7936
343k
        return m_str;
7937
343k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
313k
    {
7936
313k
        return m_str;
7937
313k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
302k
    {
7936
302k
        return m_str;
7937
302k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
394k
    {
7936
394k
        return m_str;
7937
394k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
341k
    {
7936
341k
        return m_str;
7937
341k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
401k
    {
7936
401k
        return m_str;
7937
401k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
345k
    {
7936
345k
        return m_str;
7937
345k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.3k
    {
7936
78.3k
        return m_str;
7937
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.3k
    {
7936
78.3k
        return m_str;
7937
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.4k
    {
7936
78.4k
        return m_str;
7937
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.3k
    {
7936
78.3k
        return m_str;
7937
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.6k
    {
7936
78.6k
        return m_str;
7937
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.4k
    {
7936
78.4k
        return m_str;
7937
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.3k
    {
7936
78.3k
        return m_str;
7937
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.3k
    {
7936
78.3k
        return m_str;
7937
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.4k
    {
7936
78.4k
        return m_str;
7937
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.3k
    {
7936
78.3k
        return m_str;
7937
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.6k
    {
7936
78.6k
        return m_str;
7937
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
78.4k
    {
7936
78.4k
        return m_str;
7937
78.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
124k
    {
7936
124k
        return m_str;
7937
124k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
124k
    {
7936
124k
        return m_str;
7937
124k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
125k
    {
7936
125k
        return m_str;
7937
125k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
13.4M
    {
7936
13.4M
        return m_str;
7937
13.4M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
13.4M
    {
7936
13.4M
        return m_str;
7937
13.4M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
13.4M
    {
7936
13.4M
        return m_str;
7937
13.4M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
31.5k
    {
7936
31.5k
        return m_str;
7937
31.5k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
41.4k
    {
7936
41.4k
        return m_str;
7937
41.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
41.4k
    {
7936
41.4k
        return m_str;
7937
41.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
29.7k
    {
7936
29.7k
        return m_str;
7937
29.7k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
39.6k
    {
7936
39.6k
        return m_str;
7937
39.6k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7935
39.6k
    {
7936
39.6k
        return m_str;
7937
39.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
768
    {
7936
768
        return m_str;
7937
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
768
    {
7936
768
        return m_str;
7937
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
768
    {
7936
768
        return m_str;
7937
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
768
    {
7936
768
        return m_str;
7937
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
768
    {
7936
768
        return m_str;
7937
768
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7935
768
    {
7936
768
        return m_str;
7937
768
    }
7938
    constexpr std::basic_string_view<CharT> get() const
7939
    {
7940
        return m_str;
7941
    }
7942
7943
private:
7944
    std::basic_string_view<CharT> m_str;
7945
};
7946
7947
namespace detail {
7948
class locale_ref {
7949
#if !SCN_DISABLE_LOCALE
7950
public:
7951
55.2M
    constexpr locale_ref() = default;
7952
7953
    template <typename Locale>
7954
    explicit locale_ref(const Locale& loc);
7955
7956
    constexpr explicit operator bool() const noexcept
7957
0
    {
7958
0
        return m_locale != nullptr;
7959
0
    }
7960
7961
    template <typename Locale>
7962
    Locale get() const;
7963
7964
private:
7965
    const void* m_locale{nullptr};
7966
#else
7967
public:
7968
    constexpr locale_ref() = default;
7969
7970
    template <typename T>
7971
    constexpr explicit locale_ref(T&&)
7972
    {
7973
    }
7974
7975
    constexpr explicit operator bool() const noexcept
7976
    {
7977
        return true;
7978
    }
7979
#endif
7980
};
7981
}  // namespace detail
7982
7983
/////////////////////////////////////////////////////////////////
7984
// scan_context
7985
/////////////////////////////////////////////////////////////////
7986
7987
namespace detail {
7988
template <typename I>
7989
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
7990
template <typename I>
7991
inline constexpr bool is_comparable_with_nullptr =
7992
    mp_valid_v<apply_cmp_with_nullptr, I>;
7993
7994
template <typename Args>
7995
class scan_context_base {
7996
public:
7997
    /// Get argument at index `id`
7998
    constexpr auto arg(size_t id) const noexcept
7999
25.0M
    {
8000
25.0M
        return m_args.get(id);
8001
25.0M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::arg(unsigned long) const
Line
Count
Source
7999
3.98M
    {
8000
3.98M
        return m_args.get(id);
8001
3.98M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::arg(unsigned long) const
Line
Count
Source
7999
21.1M
    {
8000
21.1M
        return m_args.get(id);
8001
21.1M
    }
8002
8003
    constexpr const Args& args() const
8004
11.2k
    {
8005
11.2k
        return m_args;
8006
11.2k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::args() const
Line
Count
Source
8004
10.3k
    {
8005
10.3k
        return m_args;
8006
10.3k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::args() const
Line
Count
Source
8004
882
    {
8005
882
        return m_args;
8006
882
    }
8007
8008
    SCN_NODISCARD constexpr locale_ref locale() const
8009
24.6M
    {
8010
24.6M
        return m_locale;
8011
24.6M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::locale() const
Line
Count
Source
8009
3.83M
    {
8010
3.83M
        return m_locale;
8011
3.83M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::locale() const
Line
Count
Source
8009
20.8M
    {
8010
20.8M
        return m_locale;
8011
20.8M
    }
8012
8013
protected:
8014
    scan_context_base(Args args, locale_ref loc)
8015
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8016
25.2M
    {
8017
25.2M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8016
3.98M
    {
8017
3.98M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8016
21.2M
    {
8017
21.2M
    }
8018
8019
    Args m_args;
8020
    locale_ref m_locale;
8021
};
8022
}  // namespace detail
8023
8024
/**
8025
 * \defgroup ctx Contexts and scanners
8026
 *
8027
 * \brief Lower-level APIs used for scanning individual values
8028
 *
8029
 * \section user-defined Scanning user-defined types
8030
 *
8031
 * User-defined types can be scanned by specializing the class template
8032
 * `scn::scanner`.
8033
 *
8034
 * \code{.cpp}
8035
 * struct mytype {
8036
 *   int key;
8037
 *   std::string value;
8038
 * };
8039
 *
8040
 * template <>
8041
 * struct scn::scanner<mytype> {
8042
 *   template <typename ParseContext>
8043
 *   constexpr auto parse(ParseCtx& pctx)
8044
 *     -> scan_expected<typename ParseContext::iterator> {
8045
 *     // parse() implementation just returning begin():
8046
 *     // only permits empty format specifiers
8047
 *     return pctx.begin();
8048
 *   }
8049
 *
8050
 *   template <typename Context>
8051
 *   auto scan(mytype& val, Context& ctx)
8052
 *     -> scan_expected<typename Context::iterator> {
8053
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8054
 *       .transform([&](auto result) {
8055
 *         std::tie(val.key, val.value) = std::move(result->values());
8056
 *         return result.begin();
8057
 *       });
8058
 *   }
8059
 * };
8060
 * \endcode
8061
 *
8062
 * See also
8063
 * \ref g-usertypes
8064
 */
8065
8066
/**
8067
 * Scanning context.
8068
 *
8069
 * \ingroup ctx
8070
 */
8071
template <typename CharT>
8072
class basic_scan_context : public detail::scan_context_base<
8073
                               basic_scan_args<basic_scan_context<CharT>>> {
8074
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8075
8076
public:
8077
    /// Character type of the input
8078
    using char_type = CharT;
8079
    using buffer_type = detail::basic_scan_buffer<char_type>;
8080
    using range_type = typename buffer_type::range_type;
8081
    using iterator = ranges::iterator_t<range_type>;
8082
    using sentinel = ranges::sentinel_t<range_type>;
8083
    using parse_context_type = basic_scan_parse_context<char_type>;
8084
8085
    using args_type = basic_scan_args<basic_scan_context>;
8086
    using arg_type = basic_scan_arg<basic_scan_context>;
8087
8088
    /**
8089
     * The scanner type associated with this scanning context.
8090
     */
8091
    template <typename T>
8092
    using scanner_type = scanner<T, char_type>;
8093
8094
    constexpr basic_scan_context(iterator curr,
8095
                                 args_type a,
8096
                                 detail::locale_ref loc = {})
8097
        : base(SCN_MOVE(a), loc), m_current(curr)
8098
9.10M
    {
8099
9.10M
    }
scn::v3::basic_scan_context<char>::basic_scan_context(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8098
1.92M
    {
8099
1.92M
    }
scn::v3::basic_scan_context<wchar_t>::basic_scan_context(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8098
7.17M
    {
8099
7.17M
    }
8100
8101
    basic_scan_context(const basic_scan_context&) = delete;
8102
    basic_scan_context& operator=(const basic_scan_context&) = delete;
8103
8104
    basic_scan_context(basic_scan_context&&) = default;
8105
    basic_scan_context& operator=(basic_scan_context&&) = default;
8106
    ~basic_scan_context() = default;
8107
8108
    /**
8109
     * Returns an iterator pointing to the current position in the source
8110
     * range.
8111
     */
8112
    constexpr iterator begin() const
8113
26.4M
    {
8114
26.4M
        return m_current;
8115
26.4M
    }
scn::v3::basic_scan_context<char>::begin() const
Line
Count
Source
8113
5.48M
    {
8114
5.48M
        return m_current;
8115
5.48M
    }
scn::v3::basic_scan_context<wchar_t>::begin() const
Line
Count
Source
8113
20.9M
    {
8114
20.9M
        return m_current;
8115
20.9M
    }
8116
8117
    /**
8118
     * Returns a sentinel pointing to the end of the source range.
8119
     */
8120
    constexpr sentinel end() const
8121
8.88M
    {
8122
8.88M
        return ranges::default_sentinel;
8123
8.88M
    }
scn::v3::basic_scan_context<char>::end() const
Line
Count
Source
8121
1.85M
    {
8122
1.85M
        return ranges::default_sentinel;
8123
1.85M
    }
scn::v3::basic_scan_context<wchar_t>::end() const
Line
Count
Source
8121
7.03M
    {
8122
7.03M
        return ranges::default_sentinel;
8123
7.03M
    }
8124
8125
    /**
8126
     * Returns a subrange over `[begin(), end())`
8127
     */
8128
    constexpr auto range() const
8129
8.88M
    {
8130
8.88M
        return ranges::subrange{begin(), end()};
8131
8.88M
    }
scn::v3::basic_scan_context<char>::range() const
Line
Count
Source
8129
1.85M
    {
8130
1.85M
        return ranges::subrange{begin(), end()};
8131
1.85M
    }
scn::v3::basic_scan_context<wchar_t>::range() const
Line
Count
Source
8129
7.03M
    {
8130
7.03M
        return ranges::subrange{begin(), end()};
8131
7.03M
    }
8132
8133
    /// Advances the beginning of the source range to `it`
8134
    void advance_to(iterator it)
8135
8.45M
    {
8136
8.45M
        m_current = SCN_MOVE(it);
8137
8.45M
    }
scn::v3::basic_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
8135
1.70M
    {
8136
1.70M
        m_current = SCN_MOVE(it);
8137
1.70M
    }
scn::v3::basic_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
8135
6.74M
    {
8136
6.74M
        m_current = SCN_MOVE(it);
8137
6.74M
    }
8138
8139
private:
8140
    iterator m_current;
8141
};
8142
8143
namespace detail {
8144
template <typename T, typename ParseCtx>
8145
constexpr scan_expected<typename ParseCtx::iterator>
8146
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs);
8147
8148
template <typename T, typename Context>
8149
scan_expected<typename Context::iterator>
8150
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
8151
}  // namespace detail
8152
8153
/////////////////////////////////////////////////////////////////
8154
// scanner
8155
/////////////////////////////////////////////////////////////////
8156
8157
/**
8158
 * `scanner` specialization for all built-in types
8159
 *
8160
 * \ingroup ctx
8161
 */
8162
template <typename T, typename CharT>
8163
struct scanner<T,
8164
               CharT,
8165
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
8166
                                    detail::arg_type::custom_type &&
8167
                                !detail::is_type_disabled<T>>> {
8168
    template <typename ParseCtx>
8169
    constexpr auto parse(ParseCtx& pctx)
8170
        -> scan_expected<typename ParseCtx::iterator>
8171
    {
8172
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
8173
    }
8174
8175
    template <typename Context>
8176
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
8177
    {
8178
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
8179
    }
8180
8181
    constexpr auto& _format_specs()
8182
    {
8183
        return m_specs;
8184
    }
8185
8186
private:
8187
    detail::format_specs m_specs;
8188
};
8189
8190
namespace detail {
8191
template <typename T, typename ParseCtx>
8192
constexpr scan_expected<typename ParseCtx::iterator>
8193
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs)
8194
{
8195
    using char_type = typename ParseCtx::char_type;
8196
8197
    auto begin = pctx.begin();
8198
    const auto end = pctx.end();
8199
    if (begin == end) {
8200
        return begin;
8201
    }
8202
8203
    using handler_type = specs_setter;
8204
    const auto type = arg_type_constant<T, char_type>::value;
8205
    auto checker =
8206
        detail::specs_checker<handler_type>(handler_type(specs), type);
8207
8208
    const auto it =
8209
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
8210
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8211
        return unexpected(e);
8212
    }
8213
8214
    switch (type) {
8215
        case arg_type::none_type:
8216
            SCN_FALLTHROUGH;
8217
        case arg_type::custom_type:
8218
            SCN_ENSURE(false);
8219
            break;
8220
8221
        case arg_type::bool_type:
8222
            check_bool_type_specs(specs, checker);
8223
            break;
8224
8225
        case arg_type::schar_type:
8226
        case arg_type::short_type:
8227
        case arg_type::int_type:
8228
        case arg_type::long_type:
8229
        case arg_type::llong_type:
8230
        case arg_type::uchar_type:
8231
        case arg_type::ushort_type:
8232
        case arg_type::uint_type:
8233
        case arg_type::ulong_type:
8234
        case arg_type::ullong_type:
8235
            check_int_type_specs(specs, checker);
8236
            break;
8237
8238
        case arg_type::narrow_character_type:
8239
        case arg_type::wide_character_type:
8240
        case arg_type::code_point_type:
8241
            check_char_type_specs(specs, checker);
8242
            break;
8243
8244
        case arg_type::float_type:
8245
        case arg_type::double_type:
8246
        case arg_type::ldouble_type:
8247
            check_float_type_specs(specs, checker);
8248
            break;
8249
8250
        case arg_type::narrow_string_type:
8251
        case arg_type::narrow_string_view_type:
8252
        case arg_type::wide_string_type:
8253
        case arg_type::wide_string_view_type:
8254
            check_string_type_specs(specs, checker);
8255
            break;
8256
8257
        case arg_type::pointer_type:
8258
            check_pointer_type_specs(specs, checker);
8259
            break;
8260
8261
        case arg_type::narrow_regex_matches_type:
8262
        case arg_type::wide_regex_matches_type:
8263
            check_regex_type_specs(specs, checker);
8264
            break;
8265
8266
            SCN_CLANG_PUSH
8267
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8268
8269
        default:
8270
            SCN_ENSURE(false);
8271
            SCN_UNREACHABLE;
8272
8273
            SCN_CLANG_POP
8274
    }
8275
8276
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8277
        return unexpected(e);
8278
    }
8279
8280
    return {it};
8281
}
8282
}  // namespace detail
8283
8284
/**
8285
 * Type for discarding any scanned value.
8286
 * Example:
8287
 *
8288
 * \code{.cpp}
8289
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
8290
 * // r.has_value() == true
8291
 * // decltype(r->value()) is scn::discard<int>
8292
 * \endcode
8293
 *
8294
 * \ingroup format-string
8295
 */
8296
template <typename T>
8297
struct discard {
8298
    constexpr discard() = default;
8299
8300
    constexpr discard(const T&) noexcept {}
8301
    constexpr discard(T&&) noexcept {}
8302
8303
    constexpr discard& operator=(const T&) noexcept
8304
    {
8305
        return *this;
8306
    }
8307
    constexpr discard& operator=(T&&) noexcept
8308
    {
8309
        return *this;
8310
    }
8311
};
8312
8313
template <typename T, typename CharT>
8314
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
8315
    template <typename Context>
8316
    auto scan(discard<T>&, Context& ctx) const
8317
    {
8318
        T val{};
8319
        return scanner<T, CharT>::scan(val, ctx);
8320
    }
8321
};
8322
8323
namespace detail {
8324
template <typename Range>
8325
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
8326
    Range r,
8327
    bool allow_exhaustion);
8328
8329
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
8330
    extern template scan_expected<Context::iterator>         \
8331
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
8332
8333
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
8334
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
8335
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
8336
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8337
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8338
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
8339
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
8340
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
8341
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
8342
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
8343
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
8344
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
8345
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
8346
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
8347
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
8348
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
8349
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
8350
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
8351
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
8352
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
8353
        std::basic_string_view<Context::char_type>, Context)               \
8354
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
8355
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
8356
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
8357
    internal_skip_classic_whitespace(Context::range_type, bool);
8358
8359
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
8360
8361
}  // namespace detail
8362
8363
/////////////////////////////////////////////////////////////////
8364
// visit_scan_arg
8365
/////////////////////////////////////////////////////////////////
8366
8367
/**
8368
 * Visit a `basic_scan_arg` with `Visitor`.
8369
 * Calls `vis` with the value stored in `arg`.
8370
 * If no value is contained in `arg`, calls `vis` with a `monostate`.
8371
 *
8372
 * \return `vis(x)`, where `x` is either a reference to the value contained
8373
 * in `arg`, or a `basic_scan_arg::handle`.
8374
 */
8375
template <typename Visitor, typename Ctx>
8376
constexpr decltype(auto) visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
8377
56.4M
{
8378
56.4M
#define SCN_VISIT(Type)                                         \
8379
56.4M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
56.4M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
56.4M
    }                                                           \
8382
56.4M
    else {                                                      \
8383
56.4M
        return vis(monostate_val);                              \
8384
56.4M
    }
8385
8386
56.4M
    monostate monostate_val{};
8387
8388
56.4M
    switch (arg.m_type) {
8389
772k
        case detail::arg_type::schar_type:
8390
772k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
951k
        case detail::arg_type::int_type:
8394
951k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
958k
        case detail::arg_type::llong_type:
8398
958k
            SCN_VISIT(long long);
8399
744k
        case detail::arg_type::uchar_type:
8400
744k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
835k
        case detail::arg_type::uint_type:
8404
835k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
835k
        case detail::arg_type::ullong_type:
8408
835k
            SCN_VISIT(unsigned long long);
8409
8.37k
        case detail::arg_type::pointer_type:
8410
8.37k
            SCN_VISIT(void*);
8411
8.42k
        case detail::arg_type::bool_type:
8412
8.42k
            SCN_VISIT(bool);
8413
8.27k
        case detail::arg_type::narrow_character_type:
8414
8.27k
            SCN_VISIT(char);
8415
102
        case detail::arg_type::wide_character_type:
8416
102
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
69.2k
        case detail::arg_type::float_type:
8420
69.2k
            SCN_VISIT(float);
8421
100k
        case detail::arg_type::double_type:
8422
100k
            SCN_VISIT(double);
8423
92.1k
        case detail::arg_type::ldouble_type:
8424
92.1k
            SCN_VISIT(long double);
8425
159k
        case detail::arg_type::narrow_string_view_type:
8426
159k
            SCN_VISIT(std::string_view);
8427
312k
        case detail::arg_type::narrow_string_type:
8428
312k
            SCN_VISIT(std::string);
8429
16.8M
        case detail::arg_type::wide_string_view_type:
8430
16.8M
            SCN_VISIT(std::wstring_view);
8431
33.7M
        case detail::arg_type::wide_string_type:
8432
33.7M
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
56.4M
            SCN_CLANG_POP
8456
56.4M
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8377
719k
{
8378
719k
#define SCN_VISIT(Type)                                         \
8379
719k
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
719k
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
719k
    }                                                           \
8382
719k
    else {                                                      \
8383
719k
        return vis(monostate_val);                              \
8384
719k
    }
8385
8386
719k
    monostate monostate_val{};
8387
8388
719k
    switch (arg.m_type) {
8389
78.8k
        case detail::arg_type::schar_type:
8390
78.8k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
92.2k
        case detail::arg_type::int_type:
8394
92.2k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
92.8k
        case detail::arg_type::llong_type:
8398
92.8k
            SCN_VISIT(long long);
8399
69.9k
        case detail::arg_type::uchar_type:
8400
69.9k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
79.1k
        case detail::arg_type::uint_type:
8404
79.1k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
79.0k
        case detail::arg_type::ullong_type:
8408
79.0k
            SCN_VISIT(unsigned long long);
8409
1.11k
        case detail::arg_type::pointer_type:
8410
1.11k
            SCN_VISIT(void*);
8411
1.11k
        case detail::arg_type::bool_type:
8412
1.11k
            SCN_VISIT(bool);
8413
1.11k
        case detail::arg_type::narrow_character_type:
8414
1.11k
            SCN_VISIT(char);
8415
0
        case detail::arg_type::wide_character_type:
8416
0
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
10.8k
        case detail::arg_type::float_type:
8420
10.8k
            SCN_VISIT(float);
8421
16.7k
        case detail::arg_type::double_type:
8422
16.7k
            SCN_VISIT(double);
8423
15.6k
        case detail::arg_type::ldouble_type:
8424
15.6k
            SCN_VISIT(long double);
8425
89.7k
        case detail::arg_type::narrow_string_view_type:
8426
89.7k
            SCN_VISIT(std::string_view);
8427
89.7k
        case detail::arg_type::narrow_string_type:
8428
89.7k
            SCN_VISIT(std::string);
8429
0
        case detail::arg_type::wide_string_view_type:
8430
0
            SCN_VISIT(std::wstring_view);
8431
1.11k
        case detail::arg_type::wide_string_type:
8432
1.11k
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
719k
            SCN_CLANG_POP
8456
719k
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8377
609k
{
8378
609k
#define SCN_VISIT(Type)                                         \
8379
609k
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
609k
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
609k
    }                                                           \
8382
609k
    else {                                                      \
8383
609k
        return vis(monostate_val);                              \
8384
609k
    }
8385
8386
609k
    monostate monostate_val{};
8387
8388
609k
    switch (arg.m_type) {
8389
78.7k
        case detail::arg_type::schar_type:
8390
78.7k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
89.5k
        case detail::arg_type::int_type:
8394
89.5k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
91.0k
        case detail::arg_type::llong_type:
8398
91.0k
            SCN_VISIT(long long);
8399
69.8k
        case detail::arg_type::uchar_type:
8400
69.8k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
77.8k
        case detail::arg_type::uint_type:
8404
77.8k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
78.8k
        case detail::arg_type::ullong_type:
8408
78.8k
            SCN_VISIT(unsigned long long);
8409
0
        case detail::arg_type::pointer_type:
8410
0
            SCN_VISIT(void*);
8411
0
        case detail::arg_type::bool_type:
8412
0
            SCN_VISIT(bool);
8413
0
        case detail::arg_type::narrow_character_type:
8414
0
            SCN_VISIT(char);
8415
0
        case detail::arg_type::wide_character_type:
8416
0
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
7.95k
        case detail::arg_type::float_type:
8420
7.95k
            SCN_VISIT(float);
8421
12.7k
        case detail::arg_type::double_type:
8422
12.7k
            SCN_VISIT(double);
8423
12.7k
        case detail::arg_type::ldouble_type:
8424
12.7k
            SCN_VISIT(long double);
8425
0
        case detail::arg_type::narrow_string_view_type:
8426
0
            SCN_VISIT(std::string_view);
8427
89.8k
        case detail::arg_type::narrow_string_type:
8428
89.8k
            SCN_VISIT(std::string);
8429
0
        case detail::arg_type::wide_string_view_type:
8430
0
            SCN_VISIT(std::wstring_view);
8431
0
        case detail::arg_type::wide_string_type:
8432
0
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
609k
            SCN_CLANG_POP
8456
609k
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8377
1.96M
{
8378
1.96M
#define SCN_VISIT(Type)                                         \
8379
1.96M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
1.96M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
1.96M
    }                                                           \
8382
1.96M
    else {                                                      \
8383
1.96M
        return vis(monostate_val);                              \
8384
1.96M
    }
8385
8386
1.96M
    monostate monostate_val{};
8387
8388
1.96M
    switch (arg.m_type) {
8389
247k
        case detail::arg_type::schar_type:
8390
247k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
328k
        case detail::arg_type::int_type:
8394
328k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
326k
        case detail::arg_type::llong_type:
8398
326k
            SCN_VISIT(long long);
8399
242k
        case detail::arg_type::uchar_type:
8400
242k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
283k
        case detail::arg_type::uint_type:
8404
283k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
278k
        case detail::arg_type::ullong_type:
8408
278k
            SCN_VISIT(unsigned long long);
8409
7.15k
        case detail::arg_type::pointer_type:
8410
7.15k
            SCN_VISIT(void*);
8411
7.20k
        case detail::arg_type::bool_type:
8412
7.20k
            SCN_VISIT(bool);
8413
7.15k
        case detail::arg_type::narrow_character_type:
8414
7.15k
            SCN_VISIT(char);
8415
0
        case detail::arg_type::wide_character_type:
8416
0
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
24.3k
        case detail::arg_type::float_type:
8420
24.3k
            SCN_VISIT(float);
8421
38.2k
        case detail::arg_type::double_type:
8422
38.2k
            SCN_VISIT(double);
8423
31.0k
        case detail::arg_type::ldouble_type:
8424
31.0k
            SCN_VISIT(long double);
8425
69.7k
        case detail::arg_type::narrow_string_view_type:
8426
69.7k
            SCN_VISIT(std::string_view);
8427
69.7k
        case detail::arg_type::narrow_string_type:
8428
69.7k
            SCN_VISIT(std::string);
8429
0
        case detail::arg_type::wide_string_view_type:
8430
0
            SCN_VISIT(std::wstring_view);
8431
7.15k
        case detail::arg_type::wide_string_type:
8432
7.15k
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
1.96M
            SCN_CLANG_POP
8456
1.96M
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8377
1.85M
{
8378
1.85M
#define SCN_VISIT(Type)                                         \
8379
1.85M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
1.85M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
1.85M
    }                                                           \
8382
1.85M
    else {                                                      \
8383
1.85M
        return vis(monostate_val);                              \
8384
1.85M
    }
8385
8386
1.85M
    monostate monostate_val{};
8387
8388
1.85M
    switch (arg.m_type) {
8389
249k
        case detail::arg_type::schar_type:
8390
249k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
322k
        case detail::arg_type::int_type:
8394
322k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
328k
        case detail::arg_type::llong_type:
8398
328k
            SCN_VISIT(long long);
8399
244k
        case detail::arg_type::uchar_type:
8400
244k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
277k
        case detail::arg_type::uint_type:
8404
277k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
280k
        case detail::arg_type::ullong_type:
8408
280k
            SCN_VISIT(unsigned long long);
8409
0
        case detail::arg_type::pointer_type:
8410
0
            SCN_VISIT(void*);
8411
0
        case detail::arg_type::bool_type:
8412
0
            SCN_VISIT(bool);
8413
0
        case detail::arg_type::narrow_character_type:
8414
0
            SCN_VISIT(char);
8415
0
        case detail::arg_type::wide_character_type:
8416
0
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
24.4k
        case detail::arg_type::float_type:
8420
24.4k
            SCN_VISIT(float);
8421
31.1k
        case detail::arg_type::double_type:
8422
31.1k
            SCN_VISIT(double);
8423
31.1k
        case detail::arg_type::ldouble_type:
8424
31.1k
            SCN_VISIT(long double);
8425
0
        case detail::arg_type::narrow_string_view_type:
8426
0
            SCN_VISIT(std::string_view);
8427
63.1k
        case detail::arg_type::narrow_string_type:
8428
63.1k
            SCN_VISIT(std::string);
8429
0
        case detail::arg_type::wide_string_view_type:
8430
0
            SCN_VISIT(std::wstring_view);
8431
0
        case detail::arg_type::wide_string_type:
8432
0
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
1.85M
            SCN_CLANG_POP
8456
1.85M
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8377
20.2M
{
8378
20.2M
#define SCN_VISIT(Type)                                         \
8379
20.2M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
20.2M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
20.2M
    }                                                           \
8382
20.2M
    else {                                                      \
8383
20.2M
        return vis(monostate_val);                              \
8384
20.2M
    }
8385
8386
20.2M
    monostate monostate_val{};
8387
8388
20.2M
    switch (arg.m_type) {
8389
11.8k
        case detail::arg_type::schar_type:
8390
11.8k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
11.8k
        case detail::arg_type::int_type:
8394
11.8k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
11.8k
        case detail::arg_type::llong_type:
8398
11.8k
            SCN_VISIT(long long);
8399
11.7k
        case detail::arg_type::uchar_type:
8400
11.7k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
11.8k
        case detail::arg_type::uint_type:
8404
11.8k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
11.8k
        case detail::arg_type::ullong_type:
8408
11.8k
            SCN_VISIT(unsigned long long);
8409
46
        case detail::arg_type::pointer_type:
8410
46
            SCN_VISIT(void*);
8411
46
        case detail::arg_type::bool_type:
8412
46
            SCN_VISIT(bool);
8413
0
        case detail::arg_type::narrow_character_type:
8414
0
            SCN_VISIT(char);
8415
46
        case detail::arg_type::wide_character_type:
8416
46
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
192
        case detail::arg_type::float_type:
8420
192
            SCN_VISIT(float);
8421
238
        case detail::arg_type::double_type:
8422
238
            SCN_VISIT(double);
8423
192
        case detail::arg_type::ldouble_type:
8424
192
            SCN_VISIT(long double);
8425
0
        case detail::arg_type::narrow_string_view_type:
8426
0
            SCN_VISIT(std::string_view);
8427
46
        case detail::arg_type::narrow_string_type:
8428
46
            SCN_VISIT(std::string);
8429
10.1M
        case detail::arg_type::wide_string_view_type:
8430
10.1M
            SCN_VISIT(std::wstring_view);
8431
10.1M
        case detail::arg_type::wide_string_type:
8432
10.1M
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
20.2M
            SCN_CLANG_POP
8456
20.2M
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8377
13.7M
{
8378
13.7M
#define SCN_VISIT(Type)                                         \
8379
13.7M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
13.7M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
13.7M
    }                                                           \
8382
13.7M
    else {                                                      \
8383
13.7M
        return vis(monostate_val);                              \
8384
13.7M
    }
8385
8386
13.7M
    monostate monostate_val{};
8387
8388
13.7M
    switch (arg.m_type) {
8389
47.1k
        case detail::arg_type::schar_type:
8390
47.1k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
47.3k
        case detail::arg_type::int_type:
8394
47.3k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
47.3k
        case detail::arg_type::llong_type:
8398
47.3k
            SCN_VISIT(long long);
8399
47.0k
        case detail::arg_type::uchar_type:
8400
47.0k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
47.1k
        case detail::arg_type::uint_type:
8404
47.1k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
47.2k
        case detail::arg_type::ullong_type:
8408
47.2k
            SCN_VISIT(unsigned long long);
8409
56
        case detail::arg_type::pointer_type:
8410
56
            SCN_VISIT(void*);
8411
56
        case detail::arg_type::bool_type:
8412
56
            SCN_VISIT(bool);
8413
0
        case detail::arg_type::narrow_character_type:
8414
0
            SCN_VISIT(char);
8415
56
        case detail::arg_type::wide_character_type:
8416
56
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
640
        case detail::arg_type::float_type:
8420
640
            SCN_VISIT(float);
8421
696
        case detail::arg_type::double_type:
8422
696
            SCN_VISIT(double);
8423
640
        case detail::arg_type::ldouble_type:
8424
640
            SCN_VISIT(long double);
8425
0
        case detail::arg_type::narrow_string_view_type:
8426
0
            SCN_VISIT(std::string_view);
8427
56
        case detail::arg_type::narrow_string_type:
8428
56
            SCN_VISIT(std::string);
8429
6.74M
        case detail::arg_type::wide_string_view_type:
8430
6.74M
            SCN_VISIT(std::wstring_view);
8431
6.74M
        case detail::arg_type::wide_string_type:
8432
6.74M
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
13.7M
            SCN_CLANG_POP
8456
13.7M
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8377
10.1M
{
8378
10.1M
#define SCN_VISIT(Type)                                         \
8379
10.1M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
10.1M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
10.1M
    }                                                           \
8382
10.1M
    else {                                                      \
8383
10.1M
        return vis(monostate_val);                              \
8384
10.1M
    }
8385
8386
10.1M
    monostate monostate_val{};
8387
8388
10.1M
    switch (arg.m_type) {
8389
11.8k
        case detail::arg_type::schar_type:
8390
11.8k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
11.8k
        case detail::arg_type::int_type:
8394
11.8k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
11.8k
        case detail::arg_type::llong_type:
8398
11.8k
            SCN_VISIT(long long);
8399
11.7k
        case detail::arg_type::uchar_type:
8400
11.7k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
11.8k
        case detail::arg_type::uint_type:
8404
11.8k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
11.8k
        case detail::arg_type::ullong_type:
8408
11.8k
            SCN_VISIT(unsigned long long);
8409
0
        case detail::arg_type::pointer_type:
8410
0
            SCN_VISIT(void*);
8411
0
        case detail::arg_type::bool_type:
8412
0
            SCN_VISIT(bool);
8413
0
        case detail::arg_type::narrow_character_type:
8414
0
            SCN_VISIT(char);
8415
0
        case detail::arg_type::wide_character_type:
8416
0
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
192
        case detail::arg_type::float_type:
8420
192
            SCN_VISIT(float);
8421
192
        case detail::arg_type::double_type:
8422
192
            SCN_VISIT(double);
8423
192
        case detail::arg_type::ldouble_type:
8424
192
            SCN_VISIT(long double);
8425
0
        case detail::arg_type::narrow_string_view_type:
8426
0
            SCN_VISIT(std::string_view);
8427
0
        case detail::arg_type::narrow_string_type:
8428
0
            SCN_VISIT(std::string);
8429
0
        case detail::arg_type::wide_string_view_type:
8430
0
            SCN_VISIT(std::wstring_view);
8431
10.1M
        case detail::arg_type::wide_string_type:
8432
10.1M
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
10.1M
            SCN_CLANG_POP
8456
10.1M
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8377
7.03M
{
8378
7.03M
#define SCN_VISIT(Type)                                         \
8379
7.03M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8380
7.03M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8381
7.03M
    }                                                           \
8382
7.03M
    else {                                                      \
8383
7.03M
        return vis(monostate_val);                              \
8384
7.03M
    }
8385
8386
7.03M
    monostate monostate_val{};
8387
8388
7.03M
    switch (arg.m_type) {
8389
47.1k
        case detail::arg_type::schar_type:
8390
47.1k
            SCN_VISIT(signed char);
8391
0
        case detail::arg_type::short_type:
8392
0
            SCN_VISIT(short);
8393
47.2k
        case detail::arg_type::int_type:
8394
47.2k
            SCN_VISIT(int);
8395
0
        case detail::arg_type::long_type:
8396
0
            SCN_VISIT(long);
8397
47.3k
        case detail::arg_type::llong_type:
8398
47.3k
            SCN_VISIT(long long);
8399
47.0k
        case detail::arg_type::uchar_type:
8400
47.0k
            SCN_VISIT(unsigned char);
8401
0
        case detail::arg_type::ushort_type:
8402
0
            SCN_VISIT(unsigned short);
8403
47.1k
        case detail::arg_type::uint_type:
8404
47.1k
            SCN_VISIT(unsigned);
8405
0
        case detail::arg_type::ulong_type:
8406
0
            SCN_VISIT(unsigned long);
8407
47.2k
        case detail::arg_type::ullong_type:
8408
47.2k
            SCN_VISIT(unsigned long long);
8409
0
        case detail::arg_type::pointer_type:
8410
0
            SCN_VISIT(void*);
8411
0
        case detail::arg_type::bool_type:
8412
0
            SCN_VISIT(bool);
8413
0
        case detail::arg_type::narrow_character_type:
8414
0
            SCN_VISIT(char);
8415
0
        case detail::arg_type::wide_character_type:
8416
0
            SCN_VISIT(wchar_t);
8417
0
        case detail::arg_type::code_point_type:
8418
0
            SCN_VISIT(char32_t);
8419
640
        case detail::arg_type::float_type:
8420
640
            SCN_VISIT(float);
8421
640
        case detail::arg_type::double_type:
8422
640
            SCN_VISIT(double);
8423
640
        case detail::arg_type::ldouble_type:
8424
640
            SCN_VISIT(long double);
8425
0
        case detail::arg_type::narrow_string_view_type:
8426
0
            SCN_VISIT(std::string_view);
8427
0
        case detail::arg_type::narrow_string_type:
8428
0
            SCN_VISIT(std::string);
8429
0
        case detail::arg_type::wide_string_view_type:
8430
0
            SCN_VISIT(std::wstring_view);
8431
6.74M
        case detail::arg_type::wide_string_type:
8432
6.74M
            SCN_VISIT(std::wstring);
8433
0
        case detail::arg_type::narrow_regex_matches_type:
8434
0
            SCN_VISIT(regex_matches);
8435
0
        case detail::arg_type::wide_regex_matches_type:
8436
0
            SCN_VISIT(wregex_matches);
8437
8438
0
        case detail::arg_type::custom_type:
8439
0
#if !SCN_DISABLE_TYPE_CUSTOM
8440
0
            return vis(
8441
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8442
#else
8443
            return vis(monostate_val);
8444
#endif
8445
8446
0
            SCN_CLANG_PUSH
8447
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8448
8449
0
            SCN_UNLIKELY_ATTR
8450
0
        case detail::arg_type::none_type:
8451
0
        default: {
8452
0
            return vis(monostate_val);
8453
0
        }
8454
8455
7.03M
            SCN_CLANG_POP
8456
7.03M
    }
8457
8458
0
#undef SCN_VISIT
8459
8460
0
    SCN_ENSURE(false);
8461
0
    SCN_UNREACHABLE;
8462
0
}
8463
8464
/////////////////////////////////////////////////////////////////
8465
// vscan
8466
/////////////////////////////////////////////////////////////////
8467
8468
/**
8469
 * \defgroup vscan Type-erased scanning API
8470
 *
8471
 * \brief Lower-level scanning API with type-erased arguments
8472
 */
8473
8474
namespace detail {
8475
template <typename Source>
8476
using scan_result_value_type =
8477
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
8478
                       std::FILE*,
8479
                       borrowed_tail_subrange_t<Source>>;
8480
}
8481
8482
/**
8483
 * Result type returned by `vscan`.
8484
 *
8485
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
8486
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
8487
 *
8488
 * \ingroup vscan
8489
 */
8490
template <typename Source>
8491
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
8492
8493
namespace detail {
8494
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
8495
                                         std::string_view format,
8496
                                         scan_args args);
8497
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
8498
                                         std::string_view format,
8499
                                         scan_args args);
8500
8501
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
8502
                                         std::wstring_view format,
8503
                                         wscan_args args);
8504
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
8505
                                         std::wstring_view format,
8506
                                         wscan_args args);
8507
8508
#if !SCN_DISABLE_LOCALE
8509
template <typename Locale>
8510
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8511
                                                   std::string_view source,
8512
                                                   std::string_view format,
8513
                                                   scan_args args);
8514
template <typename Locale>
8515
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8516
                                                   scan_buffer& source,
8517
                                                   std::string_view format,
8518
                                                   scan_args args);
8519
8520
template <typename Locale>
8521
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8522
                                                   std::wstring_view source,
8523
                                                   std::wstring_view format,
8524
                                                   wscan_args args);
8525
template <typename Locale>
8526
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8527
                                                   wscan_buffer& source,
8528
                                                   std::wstring_view format,
8529
                                                   wscan_args args);
8530
#endif
8531
8532
scan_expected<std::ptrdiff_t> vscan_value_impl(
8533
    std::string_view source,
8534
    basic_scan_arg<scan_context> arg);
8535
scan_expected<std::ptrdiff_t> vscan_value_impl(
8536
    scan_buffer& source,
8537
    basic_scan_arg<scan_context> arg);
8538
8539
scan_expected<std::ptrdiff_t> vscan_value_impl(
8540
    std::wstring_view source,
8541
    basic_scan_arg<wscan_context> arg);
8542
scan_expected<std::ptrdiff_t> vscan_value_impl(
8543
    wscan_buffer& source,
8544
    basic_scan_arg<wscan_context> arg);
8545
8546
template <typename Range, typename CharT>
8547
auto vscan_generic(Range&& range,
8548
                   std::basic_string_view<CharT> format,
8549
                   basic_scan_args<basic_scan_context<CharT>> args)
8550
    -> vscan_result<Range>
8551
23.2M
{
8552
23.2M
    auto buffer = make_scan_buffer(range);
8553
8554
23.2M
    auto result = vscan_impl(buffer, format, args);
8555
23.2M
    if (SCN_UNLIKELY(!result)) {
8556
861k
        return unexpected(result.error());
8557
861k
    }
8558
22.3M
    return make_vscan_result_range(SCN_FWD(range), *result);
8559
23.2M
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8551
40.6k
{
8552
40.6k
    auto buffer = make_scan_buffer(range);
8553
8554
40.6k
    auto result = vscan_impl(buffer, format, args);
8555
40.6k
    if (SCN_UNLIKELY(!result)) {
8556
39.1k
        return unexpected(result.error());
8557
39.1k
    }
8558
1.50k
    return make_vscan_result_range(SCN_FWD(range), *result);
8559
40.6k
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8551
81.3k
{
8552
81.3k
    auto buffer = make_scan_buffer(range);
8553
8554
81.3k
    auto result = vscan_impl(buffer, format, args);
8555
81.3k
    if (SCN_UNLIKELY(!result)) {
8556
81.3k
        return unexpected(result.error());
8557
81.3k
    }
8558
4
    return make_vscan_result_range(SCN_FWD(range), *result);
8559
81.3k
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8551
1.22M
{
8552
1.22M
    auto buffer = make_scan_buffer(range);
8553
8554
1.22M
    auto result = vscan_impl(buffer, format, args);
8555
1.22M
    if (SCN_UNLIKELY(!result)) {
8556
125k
        return unexpected(result.error());
8557
125k
    }
8558
1.10M
    return make_vscan_result_range(SCN_FWD(range), *result);
8559
1.22M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8551
1.16M
{
8552
1.16M
    auto buffer = make_scan_buffer(range);
8553
8554
1.16M
    auto result = vscan_impl(buffer, format, args);
8555
1.16M
    if (SCN_UNLIKELY(!result)) {
8556
121k
        return unexpected(result.error());
8557
121k
    }
8558
1.04M
    return make_vscan_result_range(SCN_FWD(range), *result);
8559
1.16M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8551
13.7M
{
8552
13.7M
    auto buffer = make_scan_buffer(range);
8553
8554
13.7M
    auto result = vscan_impl(buffer, format, args);
8555
13.7M
    if (SCN_UNLIKELY(!result)) {
8556
251k
        return unexpected(result.error());
8557
251k
    }
8558
13.4M
    return make_vscan_result_range(SCN_FWD(range), *result);
8559
13.7M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8551
6.98M
{
8552
6.98M
    auto buffer = make_scan_buffer(range);
8553
8554
6.98M
    auto result = vscan_impl(buffer, format, args);
8555
6.98M
    if (SCN_UNLIKELY(!result)) {
8556
242k
        return unexpected(result.error());
8557
242k
    }
8558
6.74M
    return make_vscan_result_range(SCN_FWD(range), *result);
8559
6.98M
}
8560
8561
template <typename Locale, typename Range, typename CharT>
8562
auto vscan_localized_generic(const Locale& loc,
8563
                             Range&& range,
8564
                             std::basic_string_view<CharT> format,
8565
                             basic_scan_args<basic_scan_context<CharT>> args)
8566
    -> vscan_result<Range>
8567
23.2M
{
8568
23.2M
#if !SCN_DISABLE_LOCALE
8569
23.2M
    auto buffer = detail::make_scan_buffer(range);
8570
8571
23.2M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8572
23.2M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8573
23.2M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8574
8575
23.2M
    if (SCN_UNLIKELY(!result)) {
8576
861k
        return unexpected(result.error());
8577
861k
    }
8578
22.3M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8579
#else
8580
    static_assert(dependent_false<Locale>::value,
8581
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8582
8583
    return {};
8584
#endif
8585
23.2M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8567
40.6k
{
8568
40.6k
#if !SCN_DISABLE_LOCALE
8569
40.6k
    auto buffer = detail::make_scan_buffer(range);
8570
8571
40.6k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8572
40.6k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8573
40.6k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8574
8575
40.6k
    if (SCN_UNLIKELY(!result)) {
8576
39.1k
        return unexpected(result.error());
8577
39.1k
    }
8578
1.50k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8579
#else
8580
    static_assert(dependent_false<Locale>::value,
8581
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8582
8583
    return {};
8584
#endif
8585
40.6k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8567
81.3k
{
8568
81.3k
#if !SCN_DISABLE_LOCALE
8569
81.3k
    auto buffer = detail::make_scan_buffer(range);
8570
8571
81.3k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8572
81.3k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8573
81.3k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8574
8575
81.3k
    if (SCN_UNLIKELY(!result)) {
8576
81.3k
        return unexpected(result.error());
8577
81.3k
    }
8578
4
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8579
#else
8580
    static_assert(dependent_false<Locale>::value,
8581
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8582
8583
    return {};
8584
#endif
8585
81.3k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8567
1.22M
{
8568
1.22M
#if !SCN_DISABLE_LOCALE
8569
1.22M
    auto buffer = detail::make_scan_buffer(range);
8570
8571
1.22M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8572
1.22M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8573
1.22M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8574
8575
1.22M
    if (SCN_UNLIKELY(!result)) {
8576
125k
        return unexpected(result.error());
8577
125k
    }
8578
1.10M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8579
#else
8580
    static_assert(dependent_false<Locale>::value,
8581
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8582
8583
    return {};
8584
#endif
8585
1.22M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8567
1.16M
{
8568
1.16M
#if !SCN_DISABLE_LOCALE
8569
1.16M
    auto buffer = detail::make_scan_buffer(range);
8570
8571
1.16M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8572
1.16M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8573
1.16M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8574
8575
1.16M
    if (SCN_UNLIKELY(!result)) {
8576
121k
        return unexpected(result.error());
8577
121k
    }
8578
1.04M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8579
#else
8580
    static_assert(dependent_false<Locale>::value,
8581
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8582
8583
    return {};
8584
#endif
8585
1.16M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8567
13.7M
{
8568
13.7M
#if !SCN_DISABLE_LOCALE
8569
13.7M
    auto buffer = detail::make_scan_buffer(range);
8570
8571
13.7M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8572
13.7M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8573
13.7M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8574
8575
13.7M
    if (SCN_UNLIKELY(!result)) {
8576
251k
        return unexpected(result.error());
8577
251k
    }
8578
13.4M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8579
#else
8580
    static_assert(dependent_false<Locale>::value,
8581
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8582
8583
    return {};
8584
#endif
8585
13.7M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8567
6.98M
{
8568
6.98M
#if !SCN_DISABLE_LOCALE
8569
6.98M
    auto buffer = detail::make_scan_buffer(range);
8570
8571
6.98M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8572
6.98M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8573
6.98M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8574
8575
6.98M
    if (SCN_UNLIKELY(!result)) {
8576
242k
        return unexpected(result.error());
8577
242k
    }
8578
6.74M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8579
#else
8580
    static_assert(dependent_false<Locale>::value,
8581
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8582
8583
    return {};
8584
#endif
8585
6.98M
}
8586
8587
template <typename Range, typename CharT>
8588
auto vscan_value_generic(Range&& range,
8589
                         basic_scan_arg<basic_scan_context<CharT>> arg)
8590
    -> vscan_result<Range>
8591
10.5M
{
8592
10.5M
    auto buffer = detail::make_scan_buffer(range);
8593
8594
10.5M
    auto result = detail::vscan_value_impl(buffer, arg);
8595
10.5M
    if (SCN_UNLIKELY(!result)) {
8596
76.8k
        return unexpected(result.error());
8597
76.8k
    }
8598
10.5M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8599
10.5M
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8591
236k
{
8592
236k
    auto buffer = detail::make_scan_buffer(range);
8593
8594
236k
    auto result = detail::vscan_value_impl(buffer, arg);
8595
236k
    if (SCN_UNLIKELY(!result)) {
8596
13.1k
        return unexpected(result.error());
8597
13.1k
    }
8598
223k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8599
236k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8591
203k
{
8592
203k
    auto buffer = detail::make_scan_buffer(range);
8593
8594
203k
    auto result = detail::vscan_value_impl(buffer, arg);
8595
203k
    if (SCN_UNLIKELY(!result)) {
8596
12.4k
        return unexpected(result.error());
8597
12.4k
    }
8598
190k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8599
203k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8591
6.76M
{
8592
6.76M
    auto buffer = detail::make_scan_buffer(range);
8593
8594
6.76M
    auto result = detail::vscan_value_impl(buffer, arg);
8595
6.76M
    if (SCN_UNLIKELY(!result)) {
8596
26.3k
        return unexpected(result.error());
8597
26.3k
    }
8598
6.73M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8599
6.76M
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8591
3.39M
{
8592
3.39M
    auto buffer = detail::make_scan_buffer(range);
8593
8594
3.39M
    auto result = detail::vscan_value_impl(buffer, arg);
8595
3.39M
    if (SCN_UNLIKELY(!result)) {
8596
24.9k
        return unexpected(result.error());
8597
24.9k
    }
8598
3.36M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8599
3.39M
}
8600
}  // namespace detail
8601
8602
SCN_GCC_PUSH
8603
SCN_GCC_IGNORE("-Wnoexcept")
8604
8605
/**
8606
 * Perform actual scanning from `source`, according to `format`, into the
8607
 * type-erased arguments at `args`. Called by `scan`.
8608
 *
8609
 * \ingroup vscan
8610
 */
8611
template <typename Source>
8612
auto vscan(Source&& source, std::string_view format, scan_args args)
8613
    -> vscan_result<Source>
8614
2.43M
{
8615
2.43M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8616
2.43M
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8614
40.6k
{
8615
40.6k
    return detail::vscan_generic(SCN_FWD(source), format, args);
8616
40.6k
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8614
1.22M
{
8615
1.22M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8616
1.22M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8614
1.16M
{
8615
1.16M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8616
1.16M
}
8617
8618
/**
8619
 * Perform actual scanning from `source`, according to `format`, into the
8620
 * type-erased arguments at `args`, using `loc`, if requested. Called by
8621
 * `scan`.
8622
 *
8623
 * \ingroup locale
8624
 */
8625
template <typename Source,
8626
          typename Locale,
8627
          typename = std::void_t<decltype(Locale::classic())>>
8628
auto vscan(const Locale& loc,
8629
           Source&& source,
8630
           std::string_view format,
8631
           scan_args args) -> vscan_result<Source>
8632
2.43M
{
8633
2.43M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8634
2.43M
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS2_6localeEvEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEERKT0_OSB_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8632
40.6k
{
8633
40.6k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8634
40.6k
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8632
1.22M
{
8633
1.22M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8634
1.22M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8632
1.16M
{
8633
1.16M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8634
1.16M
}
8635
8636
/**
8637
 * Perform actual scanning from `source` into the type-erased argument at
8638
 * `arg`. Called by `scan_value`.
8639
 *
8640
 * \ingroup vscan
8641
 */
8642
template <typename Source>
8643
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
8644
    -> vscan_result<Source>
8645
439k
{
8646
439k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8647
439k
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8645
236k
{
8646
236k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8647
236k
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8645
203k
{
8646
203k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8647
203k
}
8648
8649
/**
8650
 * Perform actual scanning from `stdin`, according to `format`, into the
8651
 * type-erased arguments at `args`. Called by `input`.
8652
 *
8653
 * \ingroup vscan
8654
 */
8655
scan_error vinput(std::string_view format, scan_args args);
8656
8657
namespace detail {
8658
template <typename T>
8659
auto scan_int_impl(std::string_view source, T& value, int base)
8660
    -> scan_expected<std::string_view::iterator>;
8661
8662
template <typename T>
8663
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
8664
8665
#if !SCN_DISABLE_TYPE_SCHAR
8666
extern template auto scan_int_impl(std::string_view source,
8667
                                   signed char& value,
8668
                                   int base)
8669
    -> scan_expected<std::string_view::iterator>;
8670
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8671
    -> signed char;
8672
#endif
8673
#if !SCN_DISABLE_TYPE_SHORT
8674
extern template auto scan_int_impl(std::string_view source,
8675
                                   short& value,
8676
                                   int base)
8677
    -> scan_expected<std::string_view::iterator>;
8678
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
8679
#endif
8680
#if !SCN_DISABLE_TYPE_INT
8681
extern template auto scan_int_impl(std::string_view source,
8682
                                   int& value,
8683
                                   int base)
8684
    -> scan_expected<std::string_view::iterator>;
8685
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
8686
#endif
8687
#if !SCN_DISABLE_TYPE_LONG
8688
extern template auto scan_int_impl(std::string_view source,
8689
                                   long& value,
8690
                                   int base)
8691
    -> scan_expected<std::string_view::iterator>;
8692
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
8693
#endif
8694
#if !SCN_DISABLE_TYPE_LONG_LONG
8695
extern template auto scan_int_impl(std::string_view source,
8696
                                   long long& value,
8697
                                   int base)
8698
    -> scan_expected<std::string_view::iterator>;
8699
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8700
    -> long long;
8701
#endif
8702
#if !SCN_DISABLE_TYPE_UCHAR
8703
extern template auto scan_int_impl(std::string_view source,
8704
                                   unsigned char& value,
8705
                                   int base)
8706
    -> scan_expected<std::string_view::iterator>;
8707
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8708
    -> unsigned char;
8709
#endif
8710
#if !SCN_DISABLE_TYPE_USHORT
8711
extern template auto scan_int_impl(std::string_view source,
8712
                                   unsigned short& value,
8713
                                   int base)
8714
    -> scan_expected<std::string_view::iterator>;
8715
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8716
    -> unsigned short;
8717
#endif
8718
#if !SCN_DISABLE_TYPE_UINT
8719
extern template auto scan_int_impl(std::string_view source,
8720
                                   unsigned int& value,
8721
                                   int base)
8722
    -> scan_expected<std::string_view::iterator>;
8723
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8724
    -> unsigned int;
8725
#endif
8726
#if !SCN_DISABLE_TYPE_ULONG
8727
extern template auto scan_int_impl(std::string_view source,
8728
                                   unsigned long& value,
8729
                                   int base)
8730
    -> scan_expected<std::string_view::iterator>;
8731
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8732
    -> unsigned long;
8733
#endif
8734
#if !SCN_DISABLE_TYPE_ULONG_LONG
8735
extern template auto scan_int_impl(std::string_view source,
8736
                                   unsigned long long& value,
8737
                                   int base)
8738
    -> scan_expected<std::string_view::iterator>;
8739
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8740
    -> unsigned long long;
8741
#endif
8742
8743
}  // namespace detail
8744
8745
SCN_GCC_POP  // -Wnoexcept
8746
8747
    // dummy namespace to reset formatting
8748
    namespace detail
8749
{
8750
}
8751
8752
/////////////////////////////////////////////////////////////////
8753
// scan
8754
/////////////////////////////////////////////////////////////////
8755
8756
/**
8757
 * Convenience function to construct the value to return from `scan`,
8758
 * based on the return value of `vscan`, and the argument store.
8759
 *
8760
 * Takes its arguments by rvalue reference to disallow extraneous copying.
8761
 *
8762
 * Note: Because `vscan` places the values it scanned into the argument
8763
 * store passed to it, the call to `make_scan_result` needs to happen
8764
 * strictly after calling `vscan`. This means, that this is UB:
8765
 * `return scn::make_scan_result(scn::vscan(...), std::move(args.args()));`
8766
 *
8767
 * Example:
8768
 * \code{.cpp}
8769
 * auto args = scn::make_scan_args<scan_context, Args...>();
8770
 * auto result = scn::vscan(std::forward<Source>(source), format, args);
8771
 * return scn::make_scan_result(std::move(result), std::move(args.args()));
8772
 * \endcode
8773
 *
8774
 * \ingroup result
8775
 */
8776
template <typename Result, typename... Args>
8777
auto make_scan_result(scan_expected<Result>&& result,
8778
                      std::tuple<Args...>&& args)
8779
    -> scan_expected<scan_result<Result, Args...>>
8780
46.4M
{
8781
46.4M
    if (SCN_UNLIKELY(!result)) {
8782
1.72M
        return unexpected(result.error());
8783
1.72M
    }
8784
44.7M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
46.4M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<char>&&)
Line
Count
Source
8780
9.04k
{
8781
9.04k
    if (SCN_UNLIKELY(!result)) {
8782
8.86k
        return unexpected(result.error());
8783
8.86k
    }
8784
180
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
9.04k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8780
402k
{
8781
402k
    if (SCN_UNLIKELY(!result)) {
8782
47.9k
        return unexpected(result.error());
8783
47.9k
    }
8784
354k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
402k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8780
348k
{
8781
348k
    if (SCN_UNLIKELY(!result)) {
8782
47.9k
        return unexpected(result.error());
8783
47.9k
    }
8784
300k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
348k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8780
50.4k
{
8781
50.4k
    if (SCN_UNLIKELY(!result)) {
8782
9.42k
        return unexpected(result.error());
8783
9.42k
    }
8784
41.0k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
50.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8780
9.04k
{
8781
9.04k
    if (SCN_UNLIKELY(!result)) {
8782
9.04k
        return unexpected(result.error());
8783
9.04k
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
9.04k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8780
9.04k
{
8781
9.04k
    if (SCN_UNLIKELY(!result)) {
8782
9.04k
        return unexpected(result.error());
8783
9.04k
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
9.04k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8780
133k
{
8781
133k
    if (SCN_UNLIKELY(!result)) {
8782
16.4k
        return unexpected(result.error());
8783
16.4k
    }
8784
117k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
133k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8780
9.04k
{
8781
9.04k
    if (SCN_UNLIKELY(!result)) {
8782
8.09k
        return unexpected(result.error());
8783
8.09k
    }
8784
942
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
9.04k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
8780
133k
{
8781
133k
    if (SCN_UNLIKELY(!result)) {
8782
16.4k
        return unexpected(result.error());
8783
16.4k
    }
8784
117k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
133k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<wchar_t>&&)
Line
Count
Source
8780
18.0k
{
8781
18.0k
    if (SCN_UNLIKELY(!result)) {
8782
18.0k
        return unexpected(result.error());
8783
18.0k
    }
8784
2
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
18.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8780
96.5k
{
8781
96.5k
    if (SCN_UNLIKELY(!result)) {
8782
95.9k
        return unexpected(result.error());
8783
95.9k
    }
8784
656
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
96.5k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8780
96.4k
{
8781
96.4k
    if (SCN_UNLIKELY(!result)) {
8782
95.9k
        return unexpected(result.error());
8783
95.9k
    }
8784
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
96.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8780
18.8k
{
8781
18.8k
    if (SCN_UNLIKELY(!result)) {
8782
18.8k
        return unexpected(result.error());
8783
18.8k
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
18.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8780
18.0k
{
8781
18.0k
    if (SCN_UNLIKELY(!result)) {
8782
18.0k
        return unexpected(result.error());
8783
18.0k
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
18.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8780
18.0k
{
8781
18.0k
    if (SCN_UNLIKELY(!result)) {
8782
18.0k
        return unexpected(result.error());
8783
18.0k
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
18.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8780
18.0k
{
8781
18.0k
    if (SCN_UNLIKELY(!result)) {
8782
18.0k
        return unexpected(result.error());
8783
18.0k
    }
8784
2
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
18.0k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8780
13.5M
{
8781
13.5M
    if (SCN_UNLIKELY(!result)) {
8782
34.7k
        return unexpected(result.error());
8783
34.7k
    }
8784
13.4M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
13.5M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
8780
13.5M
{
8781
13.5M
    if (SCN_UNLIKELY(!result)) {
8782
34.7k
        return unexpected(result.error());
8783
34.7k
    }
8784
13.4M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
13.5M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8780
311k
{
8781
311k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
272k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
311k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8780
300k
{
8781
300k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
261k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
300k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8780
400k
{
8781
400k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
361k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
400k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8780
343k
{
8781
343k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
304k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
343k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8780
313k
{
8781
313k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
274k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
313k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8780
302k
{
8781
302k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
263k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
302k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8780
394k
{
8781
394k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
355k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
394k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8780
341k
{
8781
341k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
302k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
341k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8780
401k
{
8781
401k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
362k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
401k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8780
345k
{
8781
345k
    if (SCN_UNLIKELY(!result)) {
8782
38.9k
        return unexpected(result.error());
8783
38.9k
    }
8784
306k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
345k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8780
78.3k
{
8781
78.3k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
550
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8780
78.3k
{
8781
78.3k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
464
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8780
78.6k
{
8781
78.6k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
794
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8780
78.4k
{
8781
78.4k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
640
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8780
78.3k
{
8781
78.3k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
550
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8780
78.3k
{
8781
78.3k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
464
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8780
78.4k
{
8781
78.4k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
656
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8780
78.3k
{
8781
78.3k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8780
78.6k
{
8781
78.6k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
794
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8780
78.4k
{
8781
78.4k
    if (SCN_UNLIKELY(!result)) {
8782
77.8k
        return unexpected(result.error());
8783
77.8k
    }
8784
640
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8780
125k
{
8781
125k
    if (SCN_UNLIKELY(!result)) {
8782
8.31k
        return unexpected(result.error());
8783
8.31k
    }
8784
117k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
125k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8780
13.4M
{
8781
13.4M
    if (SCN_UNLIKELY(!result)) {
8782
16.6k
        return unexpected(result.error());
8783
16.6k
    }
8784
13.4M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
13.4M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8780
31.5k
{
8781
31.5k
    if (SCN_UNLIKELY(!result)) {
8782
384
        return unexpected(result.error());
8783
384
    }
8784
31.2k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
31.5k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8780
41.4k
{
8781
41.4k
    if (SCN_UNLIKELY(!result)) {
8782
384
        return unexpected(result.error());
8783
384
    }
8784
41.0k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
41.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8780
29.7k
{
8781
29.7k
    if (SCN_UNLIKELY(!result)) {
8782
384
        return unexpected(result.error());
8783
384
    }
8784
29.3k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
29.7k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8780
39.6k
{
8781
39.6k
    if (SCN_UNLIKELY(!result)) {
8782
384
        return unexpected(result.error());
8783
384
    }
8784
39.2k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
39.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8780
39.6k
{
8781
39.6k
    if (SCN_UNLIKELY(!result)) {
8782
384
        return unexpected(result.error());
8783
384
    }
8784
39.2k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
39.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8780
768
{
8781
768
    if (SCN_UNLIKELY(!result)) {
8782
768
        return unexpected(result.error());
8783
768
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
768
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8780
768
{
8781
768
    if (SCN_UNLIKELY(!result)) {
8782
768
        return unexpected(result.error());
8783
768
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
768
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8780
768
{
8781
768
    if (SCN_UNLIKELY(!result)) {
8782
768
        return unexpected(result.error());
8783
768
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
768
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8780
768
{
8781
768
    if (SCN_UNLIKELY(!result)) {
8782
768
        return unexpected(result.error());
8783
768
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
768
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8780
768
{
8781
768
    if (SCN_UNLIKELY(!result)) {
8782
768
        return unexpected(result.error());
8783
768
    }
8784
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8785
768
}
8786
8787
/**
8788
 * The return type of `scan`, based on the type of the source, and the
8789
 * types of the scanned arguments.
8790
 */
8791
template <typename Source, typename... Args>
8792
using scan_result_type =
8793
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
8794
8795
/**
8796
 * \defgroup scan Basic scanning API
8797
 *
8798
 * \brief The core public-facing interface of the library
8799
 *
8800
 * The following functions use a format string syntax similar to that of
8801
 * `std::format`. See more at \ref format-string.
8802
 *
8803
 * When these functions take a `source` as input, it must
8804
 * model the `scannable_source` concept. See more at \ref scannable.
8805
 */
8806
8807
/**
8808
 * Scans `Args...` from `source`, according to the
8809
 * specifications given in the format string (`format`).
8810
 * Returns the resulting values in an object of type `scan_result`,
8811
 * alongside a `subrange` pointing to the unused input.
8812
 *
8813
 * Example:
8814
 * \code{.cpp}
8815
 * if (auto result = scn::scan<int>("123", "{}"))
8816
 *     int value = result->value();
8817
 * \endcode
8818
 *
8819
 * \ingroup scan
8820
 */
8821
template <typename... Args,
8822
          typename Source,
8823
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8824
SCN_NODISCARD auto scan(Source&& source,
8825
                        scan_format_string<Source, Args...> format)
8826
    -> scan_result_type<Source, Args...>
8827
2.43M
{
8828
2.43M
    auto args = make_scan_args<scan_context, Args...>();
8829
2.43M
    auto result = vscan(SCN_FWD(source), format, args);
8830
2.43M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
2.43M
}
_ZN3scn2v34scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8827
4.52k
{
8828
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8829
4.52k
    auto result = vscan(SCN_FWD(source), format, args);
8830
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
4.52k
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
155k
{
8828
155k
    auto args = make_scan_args<scan_context, Args...>();
8829
155k
    auto result = vscan(SCN_FWD(source), format, args);
8830
155k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
155k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
150k
{
8828
150k
    auto args = make_scan_args<scan_context, Args...>();
8829
150k
    auto result = vscan(SCN_FWD(source), format, args);
8830
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
150k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
196k
{
8828
196k
    auto args = make_scan_args<scan_context, Args...>();
8829
196k
    auto result = vscan(SCN_FWD(source), format, args);
8830
196k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
196k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
169k
{
8828
169k
    auto args = make_scan_args<scan_context, Args...>();
8829
169k
    auto result = vscan(SCN_FWD(source), format, args);
8830
169k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
169k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
200k
{
8828
200k
    auto args = make_scan_args<scan_context, Args...>();
8829
200k
    auto result = vscan(SCN_FWD(source), format, args);
8830
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
200k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
171k
{
8828
171k
    auto args = make_scan_args<scan_context, Args...>();
8829
171k
    auto result = vscan(SCN_FWD(source), format, args);
8830
171k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
171k
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
156k
{
8828
156k
    auto args = make_scan_args<scan_context, Args...>();
8829
156k
    auto result = vscan(SCN_FWD(source), format, args);
8830
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
156k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
151k
{
8828
151k
    auto args = make_scan_args<scan_context, Args...>();
8829
151k
    auto result = vscan(SCN_FWD(source), format, args);
8830
151k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
151k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
197k
{
8828
197k
    auto args = make_scan_args<scan_context, Args...>();
8829
197k
    auto result = vscan(SCN_FWD(source), format, args);
8830
197k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
197k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
170k
{
8828
170k
    auto args = make_scan_args<scan_context, Args...>();
8829
170k
    auto result = vscan(SCN_FWD(source), format, args);
8830
170k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
170k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
200k
{
8828
200k
    auto args = make_scan_args<scan_context, Args...>();
8829
200k
    auto result = vscan(SCN_FWD(source), format, args);
8830
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
200k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
172k
{
8828
172k
    auto args = make_scan_args<scan_context, Args...>();
8829
172k
    auto result = vscan(SCN_FWD(source), format, args);
8830
172k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
172k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
8827
62.2k
{
8828
62.2k
    auto args = make_scan_args<scan_context, Args...>();
8829
62.2k
    auto result = vscan(SCN_FWD(source), format, args);
8830
62.2k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
62.2k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEEOSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNSY_ISS_E4typeEEEE
Line
Count
Source
8827
62.2k
{
8828
62.2k
    auto args = make_scan_args<scan_context, Args...>();
8829
62.2k
    auto result = vscan(SCN_FWD(source), format, args);
8830
62.2k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
62.2k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJDpT_EEEEEOSO_NS0_24basic_scan_format_stringIcNST_13type_identityISO_E4typeEJDpNS15_ISZ_E4typeEEEE
Line
Count
Source
8827
62.8k
{
8828
62.8k
    auto args = make_scan_args<scan_context, Args...>();
8829
62.8k
    auto result = vscan(SCN_FWD(source), format, args);
8830
62.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
62.8k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
15.7k
{
8828
15.7k
    auto args = make_scan_args<scan_context, Args...>();
8829
15.7k
    auto result = vscan(SCN_FWD(source), format, args);
8830
15.7k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
15.7k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
20.7k
{
8828
20.7k
    auto args = make_scan_args<scan_context, Args...>();
8829
20.7k
    auto result = vscan(SCN_FWD(source), format, args);
8830
20.7k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
20.7k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8827
20.7k
{
8828
20.7k
    auto args = make_scan_args<scan_context, Args...>();
8829
20.7k
    auto result = vscan(SCN_FWD(source), format, args);
8830
20.7k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
20.7k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
14.8k
{
8828
14.8k
    auto args = make_scan_args<scan_context, Args...>();
8829
14.8k
    auto result = vscan(SCN_FWD(source), format, args);
8830
14.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
14.8k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
19.8k
{
8828
19.8k
    auto args = make_scan_args<scan_context, Args...>();
8829
19.8k
    auto result = vscan(SCN_FWD(source), format, args);
8830
19.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
19.8k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8827
19.8k
{
8828
19.8k
    auto args = make_scan_args<scan_context, Args...>();
8829
19.8k
    auto result = vscan(SCN_FWD(source), format, args);
8830
19.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8831
19.8k
}
8832
8833
/**
8834
 * `scan` with explicitly supplied default values
8835
 *
8836
 * Can be used, for example, for pre-allocating a scanned string:
8837
 *
8838
 * \code{.cpp}
8839
 * std::string str;
8840
 * str.reserve(64);
8841
 *
8842
 * // As long as the read string fits in `str`,
8843
 * // does not allocate
8844
 * auto result = scn::scan<std::string>(source, "{}",
8845
 *                                      {std::move(str)});
8846
 * // Access the read string with result->value()
8847
 * \endcode
8848
 *
8849
 * \ingroup scan
8850
 */
8851
template <typename... Args,
8852
          typename Source,
8853
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8854
SCN_NODISCARD auto scan(Source&& source,
8855
                        scan_format_string<Source, Args...> format,
8856
                        std::tuple<Args...>&& initial_args)
8857
    -> scan_result_type<Source, Args...>
8858
{
8859
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8860
    auto result = vscan(SCN_FWD(source), format, args);
8861
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8862
}
8863
8864
/**
8865
 * \defgroup locale Localization
8866
 *
8867
 * \brief Scanning APIs that allow passing in a locale
8868
 */
8869
8870
/**
8871
 * `scan` using an explicit locale.
8872
 *
8873
 * Has no effect on its own, locale-specific scanning still needs to be
8874
 * opted-into on an argument-by-argument basis, with the `L` format string
8875
 * specifier.
8876
 *
8877
 * \code{.cpp}
8878
 * auto result = scn::scan<double>(
8879
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
8880
 * // result->value() == 3.14
8881
 * \endcode
8882
 *
8883
 * \ingroup locale
8884
 */
8885
template <typename... Args,
8886
          typename Locale,
8887
          typename Source,
8888
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8889
          typename = std::void_t<decltype(Locale::classic())>>
8890
SCN_NODISCARD auto scan(const Locale& loc,
8891
                        Source&& source,
8892
                        scan_format_string<Source, Args...> format)
8893
    -> scan_result_type<Source, Args...>
8894
2.43M
{
8895
2.43M
    auto args = make_scan_args<scan_context, Args...>();
8896
2.43M
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
2.43M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
2.43M
}
_ZN3scn2v34scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8894
4.52k
{
8895
4.52k
    auto args = make_scan_args<scan_context, Args...>();
8896
4.52k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
4.52k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
4.52k
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
155k
{
8895
155k
    auto args = make_scan_args<scan_context, Args...>();
8896
155k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
155k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
155k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
150k
{
8895
150k
    auto args = make_scan_args<scan_context, Args...>();
8896
150k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
150k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
196k
{
8895
196k
    auto args = make_scan_args<scan_context, Args...>();
8896
196k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
196k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
196k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
169k
{
8895
169k
    auto args = make_scan_args<scan_context, Args...>();
8896
169k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
169k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
169k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
200k
{
8895
200k
    auto args = make_scan_args<scan_context, Args...>();
8896
200k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
200k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
171k
{
8895
171k
    auto args = make_scan_args<scan_context, Args...>();
8896
171k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
171k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
171k
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
156k
{
8895
156k
    auto args = make_scan_args<scan_context, Args...>();
8896
156k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
156k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
151k
{
8895
151k
    auto args = make_scan_args<scan_context, Args...>();
8896
151k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
151k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
151k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
197k
{
8895
197k
    auto args = make_scan_args<scan_context, Args...>();
8896
197k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
197k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
197k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
170k
{
8895
170k
    auto args = make_scan_args<scan_context, Args...>();
8896
170k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
170k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
170k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
200k
{
8895
200k
    auto args = make_scan_args<scan_context, Args...>();
8896
200k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
200k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
172k
{
8895
172k
    auto args = make_scan_args<scan_context, Args...>();
8896
172k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
172k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
172k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
8894
62.2k
{
8895
62.2k
    auto args = make_scan_args<scan_context, Args...>();
8896
62.2k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
62.2k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
62.2k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSD_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEERKT0_OSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNS12_IST_E4typeEEEE
Line
Count
Source
8894
62.2k
{
8895
62.2k
    auto args = make_scan_args<scan_context, Args...>();
8896
62.2k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
62.2k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
62.2k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSF_PKSG_lLl4096EEESK_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEEST_NS0_6detail22borrowed_tail_subrangeISP_Xsr6rangesE14borrowed_rangeISP_EEE4typeEE4typeEJDpT_EEEEERKT0_OSP_NS0_24basic_scan_format_stringIcNSU_13type_identityISP_E4typeEJDpNS19_IS10_E4typeEEEE
Line
Count
Source
8894
62.8k
{
8895
62.8k
    auto args = make_scan_args<scan_context, Args...>();
8896
62.8k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
62.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
62.8k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
15.7k
{
8895
15.7k
    auto args = make_scan_args<scan_context, Args...>();
8896
15.7k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
15.7k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
15.7k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
20.7k
{
8895
20.7k
    auto args = make_scan_args<scan_context, Args...>();
8896
20.7k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
20.7k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
20.7k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8894
20.7k
{
8895
20.7k
    auto args = make_scan_args<scan_context, Args...>();
8896
20.7k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
20.7k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
20.7k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
14.8k
{
8895
14.8k
    auto args = make_scan_args<scan_context, Args...>();
8896
14.8k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
14.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
14.8k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
19.8k
{
8895
19.8k
    auto args = make_scan_args<scan_context, Args...>();
8896
19.8k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
19.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
19.8k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8894
19.8k
{
8895
19.8k
    auto args = make_scan_args<scan_context, Args...>();
8896
19.8k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8897
19.8k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8898
19.8k
}
8899
8900
/**
8901
 * `scan` with a locale and default values
8902
 *
8903
 * \ingroup locale
8904
 */
8905
template <typename... Args,
8906
          typename Locale,
8907
          typename Source,
8908
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8909
          typename = std::void_t<decltype(Locale::classic())>>
8910
SCN_NODISCARD auto scan(const Locale& loc,
8911
                        Source&& source,
8912
                        scan_format_string<Source, Args...> format,
8913
                        std::tuple<Args...>&& initial_args)
8914
    -> scan_result_type<Source, Args...>
8915
{
8916
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8917
    auto result = vscan(loc, SCN_FWD(source), format, args);
8918
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8919
}
8920
8921
/**
8922
 * `scan` a single value, with default options.
8923
 *
8924
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
8925
 * except it can skip parsing the format string, gaining performance.
8926
 *
8927
 * \ingroup scan
8928
 */
8929
template <typename T,
8930
          typename Source,
8931
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8932
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
8933
439k
{
8934
439k
    T value;
8935
439k
    auto arg = detail::make_arg<scan_context>(value);
8936
439k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
413k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
439k
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
26.2k
{
8934
26.2k
    T value;
8935
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8936
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
24.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
26.2k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
23.3k
{
8934
23.3k
    T value;
8935
23.3k
    auto arg = detail::make_arg<scan_context>(value);
8936
23.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
21.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
23.3k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
30.3k
{
8934
30.3k
    T value;
8935
30.3k
    auto arg = detail::make_arg<scan_context>(value);
8936
30.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
28.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
30.3k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
26.0k
{
8934
26.0k
    T value;
8935
26.0k
    auto arg = detail::make_arg<scan_context>(value);
8936
26.0k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
24.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
26.0k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
30.9k
{
8934
30.9k
    T value;
8935
30.9k
    auto arg = detail::make_arg<scan_context>(value);
8936
30.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
29.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
30.9k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
26.3k
{
8934
26.3k
    T value;
8935
26.3k
    auto arg = detail::make_arg<scan_context>(value);
8936
26.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
24.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
26.3k
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
26.2k
{
8934
26.2k
    T value;
8935
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8936
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
24.2k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
26.2k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
23.2k
{
8934
23.2k
    T value;
8935
23.2k
    auto arg = detail::make_arg<scan_context>(value);
8936
23.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
21.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
23.2k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
29.8k
{
8934
29.8k
    T value;
8935
29.8k
    auto arg = detail::make_arg<scan_context>(value);
8936
29.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
27.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
29.8k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
25.9k
{
8934
25.9k
    T value;
8935
25.9k
    auto arg = detail::make_arg<scan_context>(value);
8936
25.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
24.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
25.9k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
30.3k
{
8934
30.3k
    T value;
8935
30.3k
    auto arg = detail::make_arg<scan_context>(value);
8936
30.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
28.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
30.3k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
26.2k
{
8934
26.2k
    T value;
8935
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8936
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
24.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
26.2k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
8933
29.5k
{
8934
29.5k
    T value;
8935
29.5k
    auto arg = detail::make_arg<scan_context>(value);
8936
29.5k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
28.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
29.5k
}
_ZN3scn2v310scan_valueINSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJT_EEEEEOSH_
Line
Count
Source
8933
29.5k
{
8934
29.5k
    T value;
8935
29.5k
    auto arg = detail::make_arg<scan_context>(value);
8936
29.5k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
28.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
29.5k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJT_EEEEEOSO_
Line
Count
Source
8933
29.9k
{
8934
29.9k
    T value;
8935
29.9k
    auto arg = detail::make_arg<scan_context>(value);
8936
29.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
29.2k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
29.9k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
3.61k
{
8934
3.61k
    T value;
8935
3.61k
    auto arg = detail::make_arg<scan_context>(value);
8936
3.61k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
3.58k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
3.61k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
5.20k
{
8934
5.20k
    T value;
8935
5.20k
    auto arg = detail::make_arg<scan_context>(value);
8936
5.20k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
5.16k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
5.20k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8933
5.20k
{
8934
5.20k
    T value;
8935
5.20k
    auto arg = detail::make_arg<scan_context>(value);
8936
5.20k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
5.16k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
5.20k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
2.65k
{
8934
2.65k
    T value;
8935
2.65k
    auto arg = detail::make_arg<scan_context>(value);
8936
2.65k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
2.61k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
2.65k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
4.23k
{
8934
4.23k
    T value;
8935
4.23k
    auto arg = detail::make_arg<scan_context>(value);
8936
4.23k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
4.20k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
4.23k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8933
4.23k
{
8934
4.23k
    T value;
8935
4.23k
    auto arg = detail::make_arg<scan_context>(value);
8936
4.23k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8937
4.20k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8938
4.23k
}
8939
8940
/**
8941
 * `scan` a single value, with default options, and a default value.
8942
 *
8943
 * \ingroup scan
8944
 */
8945
template <typename T,
8946
          typename Source,
8947
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
8948
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
8949
    -> scan_result_type<Source, T>
8950
{
8951
    auto arg = detail::make_arg<scan_context>(initial_value);
8952
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8953
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(initial_value)}};
8954
}
8955
8956
/**
8957
 * Scan from `stdin`.
8958
 *
8959
 * Equivalent to `scn::scan<...>(stdin, ...)`.
8960
 *
8961
 * \code{.cpp}
8962
 * auto result = scn::input<int>("{}");
8963
 * \endcode
8964
 *
8965
 * \ingroup scan
8966
 */
8967
template <typename... Args>
8968
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
8969
    -> scan_result_type<std::FILE*, Args...>
8970
{
8971
    auto args = make_scan_args<scan_context, Args...>();
8972
    auto err = vinput(format, args);
8973
    if (SCN_UNLIKELY(!err)) {
8974
        return unexpected(err);
8975
    }
8976
    return scan_result{stdin, SCN_MOVE(args.args())};
8977
}
8978
8979
/**
8980
 * Write msg to stdout, and call `input<Args...>(format)`
8981
 *
8982
 * \ingroup scan
8983
 */
8984
template <typename... Args>
8985
SCN_NODISCARD auto prompt(const char* msg,
8986
                          scan_format_string<std::FILE*, Args...> format)
8987
    -> scan_result_type<std::FILE*, Args...>
8988
{
8989
    std::printf("%s", msg);
8990
    std::fflush(stdout);
8991
    return input<Args...>(format);
8992
}
8993
8994
namespace detail {
8995
template <typename T>
8996
inline constexpr bool is_scan_int_type =
8997
    std::is_integral_v<T> && !std::is_same_v<T, char> &&
8998
    !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
8999
    !std::is_same_v<T, bool>;
9000
}
9001
9002
/**
9003
 * Fast integer reading.
9004
 *
9005
 * Quickly reads an integer from a `std::string_view`. Skips preceding
9006
 * whitespace.
9007
 *
9008
 * Reads in the specified base,
9009
 * allowing a base prefix. Set `base` to `0` to detect the base from the
9010
 * input. `base` must either be `0`, or in range `[2, 36]`.
9011
 *
9012
 * \ingroup scan
9013
 */
9014
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9015
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
9016
    -> scan_result_type<std::string_view, T>
9017
{
9018
    T value{};
9019
    SCN_TRY(it, detail::scan_int_impl(source, value, base));
9020
    return scan_result{ranges::subrange{it, source.end()}, std::tuple{value}};
9021
}
9022
9023
namespace detail {
9024
template <bool Val, typename T>
9025
inline constexpr bool dependent_bool = Val;
9026
}
9027
9028
/**
9029
 * Very fast integer reading.
9030
 *
9031
 * Quickly reads an integer from a `std::string_view`.
9032
 *
9033
 * Be very careful when using this one!
9034
 * Its speed comes from some very heavy assumptions about the validity of
9035
 * the input:
9036
 *  - `source` must not be empty.
9037
 *  - `source` contains nothing but the integer: no leading or trailing
9038
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
9039
 *    no `+` is allowed.
9040
 *  - The parsed value does not overflow.
9041
 *  - The input is a valid base-10 integer.
9042
 * Breaking these assumptions will lead to UB.
9043
 *
9044
 * \ingroup scan
9045
 */
9046
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9047
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
9048
{
9049
    static_assert(
9050
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
9051
        "scan_int_exhaustive_valid requires a little endian environment");
9052
    return detail::scan_int_exhaustive_valid_impl<T>(source);
9053
}
9054
9055
SCN_END_NAMESPACE
9056
}  // namespace scn